Atomics.sub()

简介: Atomics.sub()

MDN文档

Atomics.sub() 静态方法在数组中的给定位置减去给定值,并返回该位置的旧值。这个原子操作保证在修改后的值被写回之前不会发生其他写操作。


语法

Atomics.sub(typedArray, index, value)


参数:

  • typedArray
    一个共享的整型 typed array 。例如 Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32Array ,或者 Uint32Array
  • index
    要被 value 值减去的 typedArray 索引位置。
  • value

要减去的数字


返回值:

给定位置的旧值typedArray[index] )。


错误:

  • 假如 typedArray 不是允许的整型之一,则抛出 TypeError
  • 假如 typedArray 不是一个shared typed array类型,则抛出 TypeError
  • 如果 index 超出了 typedArray 的边界,则抛出 RangeError


示例

const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 48;
const old = Atomics.add(ta, 0, 12);
console.log(old) // 48
const now = Atomics.load(ta, 0);
console.log(now) // 36
目录
相关文章
|
8月前
2.5 Gathering Writes
2.5 Gathering Writes
32 0
Atomics.isLockFree()
Atomics.isLockFree()
50 0
|
索引
Atomics.or()
Atomics.or()
43 0
|
索引
Atomics.compareExchange()
Atomics.compareExchange()
86 0
|
JavaScript 索引
Atomics.wait()
Atomics.wait()
150 0
|
存储
Atomics.store()
Atomics.store()
54 0
Atomics.load()
Atomics.load()
87 1
|
JavaScript 索引
Atomics.notify()
Atomics.notify()
101 0
|
索引
Atomics.and()
Atomics.and()
37 0
|
索引
Atomics.xor()
Atomics.xor()
59 0