📜  JavaScript Atomics-sub()方法(1)

📅  最后修改于: 2023-12-03 14:42:23.818000             🧑  作者: Mango

JavaScript Atomics.sub() 方法

在多线程并发模式下,JavaScript Atomics 对象为 JavaScript 提供了原子操作的能力。其中,Atomics.sub() 方法可用于对指定位置的 SharedArrayBuffer 值进行原子减操作。

语法
Atomics.sub(typedArray, index, value);
参数
  • typedArray:被操作的 SharedArrayBuffer 数组。
  • index:需要执行原子减操作的元素位置。
  • value:需要被减去的值。
返回值

返回原子减后的结果值。

注意事项
  • typedArray 的类型必须为 Int32ArrayUint32ArrayInt16ArrayUint16ArrayInt8ArrayUint8ArrayUint8ClampedArray 之一。
  • index 必须是一个有效的索引值,且不能超出数组的范围。
  • value 不能超过 typedArray[index] 的值,否则将无效。
示例
const buffer = new SharedArrayBuffer(8);
const array = new Int32Array(buffer);
array[0] = 5;
console.log(`原子减前:${array[0]}`); // 原子减前:5
Atomics.sub(array, 0, 2);
console.log(`原子减后:${array[0]}`); // 原子减后:3
参考链接