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
目录
相关文章
2.5 Gathering Writes
2.5 Gathering Writes
66 0
Atomics.load()
Atomics.load()
138 1
Atomics.isLockFree()
Atomics.isLockFree()
73 0
|
索引
Atomics.or()
Atomics.or()
57 0
|
索引
Atomics.compareExchange()
Atomics.compareExchange()
136 0
|
JavaScript 索引
Atomics.wait()
Atomics.wait()
224 0
|
存储
Atomics.store()
Atomics.store()
83 0
|
JavaScript 索引
Atomics.notify()
Atomics.notify()
199 0
|
索引
Atomics.and()
Atomics.and()
58 0
|
索引
Atomics.exchange()
Atomics.exchange()
50 0