JavaScript 中的 Atomics 有什么用?

javascriptobject oriented programmingfront end technology更新于 2025/4/4 18:20:17

Atomics

Atomics 是 JavaScript 中的一个对象,它提供以静态方法执行的原子操作。与 Math 对象的方法一样,Atomics 的方法和属性也是静态的。Atomics 与 SharedArrayBuffer 对象一起使用。

Atromic 操作安装在 Atomics 模块 上。与其他全局对象不同,Atomics 不是 构造函数。 原子操作不能与 new 运算符一起使用,也不能作为函数调用。

原子操作

原子操作不是不可中断的。当共享内存时,多个线程可以读取或写入内存中现有的数据。因此,如果任何数据发生更改,就会丢失数据 原子操作确保准确写入和读取预测值(数据)。原子操作只有在当前操作完成时才会启动,因此无法更改现有数据。

现在,让我们讨论一下 Automics 方法之一。

Atomics.add()

 Atomics.Add() 用于在数组中的给定位置添加给定值并返回该位置的旧值。由于不允许中断,因此在返回修改后的值之前,其他写入函数都无法执行。

语法

Atomics.add(typedArray, index, value)

参数

typedArray

这是一个我们要修改的共享数组整数。

索引

我们要在其中添加新值的数组中的索引。

值

它只是我们要添加的数字。

返回值

Atomics.add() 返回给定位置(typedArray[index])的旧值。

示例

<html>
<body>
<script type="text/javascript">
   // 创建 SharedArrayBuffer
   var buffer = new SharedArrayBuffer(25);
   var arr = new Uint8Array(buffer);
   // 使用 6 初始化数组第 0 个位置的元素
   arr[0] = 6;
   // 显示 Atomics.add() 方法的返回值
   document.write(Atomics.add(arr, 0, 2));
   document.write("</br>");
   // 显示更新的 SharedArrayBuffer
   document.write(Atomics.load(arr, 0));
</script>
</body>
</html>

输出

6
8

相关文章


有用资源