问题标签 [data-race]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 为什么我会出现死锁以及如何修复它(同步)?
在某处陷入僵局。是什么原因造成的,应该如何解决?试图创造一个分子创造。函数 Make 将输入作为字符串:
函数应返回创建的分子数。分子应该有 1 个 O 分子和 2 个 H 分子。在创建所有分子之前不应完成生产功能。
atomic - ARMV8 中的数据竞争是否安全?
众所周知,在 INTEL X86 架构中访问对齐的基本数据类型是原子的。ARMV8怎么样?我尝试从Arm Architecture Reference Manual Armv8中得到结果,对于A-profile架构,我确实找到了一些与原子性有关的东西。ARMV8 是其他多拷贝原子的。它承诺多线程访问同一个 LOCATION 是原子的。但它说 LOCATION 是一个字节。我想知道如果线程 1 在没有锁定的情况下写入对齐的 uint64_t 内存,而线程 2 同时在没有锁定的情况下读取或写入它。它是原子的吗?(uint64_t 是 8 个字节,但 LOCATION 只有一个字节)
sprite-kit - SpriteKit - 我如何保持游戏统计线程安全?
在SpriteKit
我正在开发的游戏中,我从Thread Sanitizer
.
一些精灵的一些属性以及GameScene
通过玩家交互异步更新的属性,例如玩家的速度。
当然,这些值将被代码的其他部分读取,例如在场景的 .update 方法中。
对于一些更经常调用的属性,我编写了一个 getter/setter 方法来同步对数据的访问,如下所示:
但是我想知道我是否必须对代码中的每个值都这样做——它看起来很笨拙,而且我还没有遇到任何需要如此大量同步工作的示例或教程代码。
我的问题:
是否有以线程安全的方式处理游戏统计数据的最佳实践?甚至可能是我不知道的 SpriteKit API 中的一个功能?
multithreading - Rust 是否使用多线程自动执行代码
我正在阅读Rust 的所有权,结果证明 Rust 的所有权、引用和借用功能专注于通过引用可变性的一些限制来防止数据竞争。
我想知道为什么 Rust 强迫我们遵守这些限制?Rust 会在多线程模式下自动执行我的代码,这是真的吗?否则,即使我的代码默认只在单线程模式下执行,我为什么还要关心这些限制呢?
python - 数据竞赛和异步 python
试图了解 asyncio 是如何工作的。任务:必须添加一些代码来降低伪代码,以便请求必须是连续的(0、1、2...9),我需要排除数据竞争。我尝试添加循环(asyncio.get_event_loop() 和 run_until_complete()),但只得到“RuntimeError:此事件循环已在运行”。为了了解它的工作原理,我应该朝哪个方向移动?谢谢!