| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Atomics | [Back] [Original] |
Get to know MDN better
Atomics new Atomics Atomics Math
wait() notify() Linux futex ("fast user-space mutex") true
Atomics.add()Atomics.and()(AND)
Atomics.compareExchange()Atomics.exchange()Atomics.isLockFree() () true
Atomics.load()Atomics.notify()Atomics.or()(OR)
Atomics.pause()CPU
Atomics.store()Atomics.sub()Atomics.wait() "ok""not-equal""timed-out" wait()
Atomics.waitAsync()Atomics.wait
Atomics.xor()(XOR)
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0]; // 0
ta[0] = 5; // 5
Atomics.add(ta, 0, 12); // 5
Atomics.load(ta, 0); // 17
Atomics.and(ta, 0, 1); // 17
Atomics.load(ta, 0); // 1
Atomics.compareExchange(ta, 0, 5, 12); // 1
Atomics.load(ta, 0); // 1
Atomics.exchange(ta, 0, 12); // 1
Atomics.load(ta, 0); // 12
Atomics.isLockFree(1); // true
Atomics.isLockFree(2); // true
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true
Atomics.or(ta, 0, 1); // 12
Atomics.load(ta, 0); // 13
Atomics.store(ta, 0, 12); // 12
Atomics.sub(ta, 0, 2); // 12
Atomics.load(ta, 0); // 10
Atomics.xor(ta, 0, 1); // 10
Atomics.load(ta, 0); // 11
Int32Array
const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);
0
0 Atomics.notify()
0
Atomics.wait(int32, 0, 0);
console.log(int32[0]); // 123
console.log(int32[0]); // 0;
Atomics.store(int32, 0, 123);
Atomics.notify(int32, 0, 1);
| ECMAScript 2027 LanguageSpecification # sec-atomics-object |
ArrayBuffer| Web Proxy Viewer | New URL | Original Page |