原子对象在JavaScript中做什么?
这是最新的 我无法理解原子对象如何在现实生活中使用,或者它们是否仅供内部使用(即根本不打算被调用)原子对象在JavaScript中做什么?,javascript,atomic,Javascript,Atomic,这是最新的 我无法理解原子对象如何在现实生活中使用,或者它们是否仅供内部使用(即根本不打算被调用) 原子对象在JavaScript中做什么?如何使用它们?此功能是在ECMAScript 2017中引入的Shared Memory和Atomics引入了一种新的内存模型,它允许多代理程序使用原子操作进行通信,即使在并行CPU上也能确保定义良好的执行顺序。此规范还包括有关对象的新静态方法:对象.值,对象.条目,以及对象.getOwnPropertyDescriptors 其主要思想是将某种多线程功能引
原子对象在JavaScript中做什么?如何使用它们?此功能是在ECMAScript 2017中引入的
Shared Memory
和Atomics
引入了一种新的内存模型,它允许多代理程序使用原子操作进行通信,即使在并行CPU上也能确保定义良好的执行顺序。此规范还包括有关对象
的新静态方法:对象.值
,对象.条目
,以及对象.getOwnPropertyDescriptors
其主要思想是将某种多线程功能引入JavaScript,使JS开发人员能够在将来编写高性能并发程序,允许他们自己管理内存,而不是让JS引擎管理内存
这是由一种称为SharedArrayBuffer
的新型全局对象完成的,该对象基本上将数据存储在共享内存空间中。因此,这些数据可以在主JS线程和web工作线程之间共享
只需使用SharedArrayBuffer
,主线程和多个web工作线程即可立即访问数据
但是在线程之间共享内存可能会导致争用情况。为了帮助避免竞争条件,引入了Atomics
global对象Atomics
提供了在线程使用其数据时锁定共享内存的各种方法。它还提供了安全地更新共享内存中此类数据的方法
让我们等待一些新的抽象库,它将使用这些API的权利
还建议在ECMAScript中查看关于共享内存的信息 多线程编程的危险
- 僵局
- 不可预测的
读写操作的顺序 - 数据碎片
@AlexisTyler的精确副本:为什么你在这个问题上发布了悬赏,而不是在链接副本上?可能是的副本