Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 Dezember 2021.
DieAtomics.notify() statische Methode benachrichtigt einige Agenten, die in der Warteschlange schlafen.
Hinweis:Diese Operation funktioniert nur mit einerInt32Array oderBigInt64Array, die einenSharedArrayBuffer anzeigt.Es wird0 bei nicht-geteiltenArrayBuffer-Objekten zurückgeben.
In diesem Artikel
Syntax
Atomics.notify(typedArray, index, count)Parameter
typedArrayEine
Int32ArrayoderBigInt64Array, die einenSharedArrayBufferanzeigt.indexDie Position im
typedArray, an der aufgeweckt werden soll.countOptionalDie Anzahl der schlafenden Agenten, die benachrichtigt werden sollen. Standardwert ist
Infinity.
Rückgabewert
Gibt die Anzahl der aufgeweckten Agenten zurück oder0, wenntypedArray eine Ansicht auf einen nicht-geteiltenArrayBuffer ist.
Ausnahmen
TypeErrorWird ausgelöst, wenn
typedArraykeineInt32ArrayoderBigInt64Arrayist.RangeErrorWird ausgelöst, wenn
indexaußerhalb der Grenzen imtypedArrayliegt.
Beispiele
>Verwendung vonnotify
Gegeben eine geteilteInt32Array:
const sab = new SharedArrayBuffer(1024);const int32 = new Int32Array(sab);Ein lesender Thread schläft und wartet auf Position 0, weil der angegebenevalue mit dem übereinstimmt, was an dem angegebenenindex gespeichert ist. Der lesende Thread wird nicht fortfahren, bis der schreibende ThreadAtomics.notify() auf Position 0 des angegebenentypedArray aufgerufen hat. Beachten Sie, dass der lesende Thread, nachdem er aufgeweckt wurde,nicht wieder schlafen geht, außer der Wert an Position 0 wurde nicht vom schreibenden Thread geändert, sondern setzt seine Arbeit fort.
Atomics.wait(int32, 0, 0);console.log(int32[0]); // 123Ein schreibender Thread speichert einen neuen Wert und benachrichtigt den wartenden Thread, sobald er geschrieben hat:
console.log(int32[0]); // 0;Atomics.store(int32, 0, 123);Atomics.notify(int32, 0, 1);Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.notify> |