Atomics.or()

简介: Atomics.or()

MDN文档

静态方法 Atomics.or() 用数组中指定位置的值进行一次按位或运算,并返回未计算时数组中指定位置处的值。这个 atomic 操作保证了在修改后的值被写回之前没有其它的写入操作发生。


语法

Atomics.or(typedArray, index, value)


参数:

  • typedArray
    一个共享的整型 typed array 。例如 Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32Array ,或者 Uint32Array
  • index
    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] = 2;
const old = Atomics.add(ta, 0, 1);
console.log(old) // 2
const now = Atomics.load(ta, 0);
console.log(now) // 3
目录
相关文章
|
8月前
2.5 Gathering Writes
2.5 Gathering Writes
32 0
|
索引
Atomics.sub()
Atomics.sub()
42 0
Atomics.isLockFree()
Atomics.isLockFree()
50 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