Baseline Widely available
Die Atomics.notify()
statische Methode benachrichtigt einige Agenten, die in der Warteschlange schlafen.
Hinweis: Diese Operation funktioniert nur mit einer Int32Array
oder BigInt64Array
, die einen SharedArrayBuffer
anzeigt. Es wird 0
bei nicht-geteilten ArrayBuffer
-Objekten zurückgeben.
Atomics.notify(typedArray, index, count)
Parameter
typedArray
Eine Int32Array
oder BigInt64Array
, die einen SharedArrayBuffer
anzeigt.
index
Die Position im typedArray
, an der aufgeweckt werden soll.
count
Optional
Die Anzahl der schlafenden Agenten, die benachrichtigt werden sollen. Standardwert ist Infinity
.
Gibt die Anzahl der aufgeweckten Agenten zurück oder 0
, wenn typedArray
eine Ansicht auf einen nicht-geteilten ArrayBuffer
ist.
TypeError
Wird ausgelöst, wenn typedArray
keine Int32Array
oder BigInt64Array
ist.
RangeError
Wird ausgelöst, wenn index
auÃerhalb der Grenzen im typedArray
liegt.
notify
Gegeben eine geteilte Int32Array
:
const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);
Ein lesender Thread schläft und wartet auf Position 0, weil der angegebene value
mit dem übereinstimmt, was an dem angegebenen index
gespeichert ist. Der lesende Thread wird nicht fortfahren, bis der schreibende Thread Atomics.notify()
auf Position 0 des angegebenen typedArray
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]); // 123
Ein 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 Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4