Atomics.notify()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.
TheAtomics.notify() staticmethod notifies up some agents that are sleeping in the wait queue.
Note:This operation only works with anInt32Array orBigInt64Array that views aSharedArrayBuffer.It will return0 on non-sharedArrayBuffer objects.
In this article
Syntax
Atomics.notify(typedArray, index, count)Parameters
typedArrayAn
Int32ArrayorBigInt64Arraythat views aSharedArrayBuffer.indexThe position in the
typedArrayto wake up on.countOptionalThe number of sleeping agents to notify. Defaults to
Infinity.
Return value
Returns the number of woken up agents, or0 iftypedArray is a view on a non-sharedArrayBuffer.
Exceptions
TypeErrorThrown if
typedArrayis not anInt32ArrayorBigInt64Array.RangeErrorThrown if
indexis out of bounds in thetypedArray.
Examples
>Usingnotify
Given a sharedInt32Array:
const sab = new SharedArrayBuffer(1024);const int32 = new Int32Array(sab);A reading thread is sleeping and waiting on location 0 because the providedvalue matches what is stored at the providedindex.The reading thread will not move on until the writing thread has calledAtomics.notify() on position 0 of the providedtypedArray.Note that if, after being woken up, the value of location 0 has not been changed by the writing thread, the reading thread willnot go back to sleep, but will continue on.
Atomics.wait(int32, 0, 0);console.log(int32[0]); // 123A writing thread stores a new value and notifies the waiting thread once it haswritten:
console.log(int32[0]); // 0;Atomics.store(int32, 0, 123);Atomics.notify(int32, 0, 1);Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.notify> |