[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Atomics/notify [Back]  [Original]

Atomics.notify() - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Atomics.notify()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Dezember 2021 browserbergreifend verfgbar.

Die statische Methode Atomics.notify() benachrichtigt einige Agenten, die in der Wartewarteschlange schlafen.

Hinweis: Diese Operation funktioniert nur mit einem Int32Array oder BigInt64Array, das einen SharedArrayBuffer betrachtet. Sie wird 0 auf nicht-geteilten ArrayBuffer-Objekten zurckgeben.

In diesem Artikel

Syntax

js
Atomics.notify(typedArray, index, count)

Parameter

typedArray

Ein Int32Array oder BigInt64Array, das einen SharedArrayBuffer betrachtet.

index

Die Position im typedArray, bei der aufgeweckt werden soll.

count Optional

Die Anzahl der zu benachrichtigenden schlafenden Agenten. Standardwert ist Infinity.

Rckgabewert

Gibt die Anzahl der aufgeweckten Agenten zurck oder 0, wenn typedArray eine Ansicht auf einem nicht-geteilten ArrayBuffer ist.

Ausnahmen

TypeError

Wird ausgelst, wenn typedArray kein Int32Array oder BigInt64Array ist.

RangeError

Wird ausgelst, wenn index auerhalb der Grenzen im typedArray liegt.

Beispiele

Beachten Sie, dass diese Beispiele nicht direkt von der Konsole oder einer beliebigen Webseite ausgefhrt werden knnen, da SharedArrayBuffer nicht definiert ist, es sei denn, seine Sicherheitsanforderungen sind erfllt.

Verwendung von Atomics.notify()

Gegebenenfalls ein geteilter Int32Array:

js
const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);

Ein lesender Thread schlft und wartet auf Position 0, da der angegebene Wert mit dem gespeicherten Wert an dem angegebenen index bereinstimmt. Der lesende Thread wird sich erst weiterbewegen, wenn der schreibende Thread Atomics.notify() auf Position 0 des angegebenen typedArray aufgerufen hat. Beachten Sie, dass, wenn nach dem Aufwecken der Wert an Position 0 nicht vom schreibenden Thread gendert wurde, der lesende Thread nicht wieder einschlafen wird, sondern fortfahren wird.

js
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:

js
console.log(int32[0]); // 0;
Atomics.store(int32, 0, 123);
Atomics.notify(int32, 0, 1);

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-atomics.notify

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page