Atomics.notify()
BaselineWidely 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.
Syntax
Atomics.notify(typedArray, index, count)
Parameters
typedArray
An
Int32Array
orBigInt64Array
that views aSharedArrayBuffer
.index
The position in the
typedArray
to wake up on.count
OptionalThe 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
TypeError
Thrown if
typedArray
is not anInt32Array
orBigInt64Array
.RangeError
Thrown if
index
is 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]); // 123
A 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 |