Die statische Atomics.wake() Methode weckt Threads auf, die in einer Warteschlange schlafen.

Hinweis: Diese Operation funktioniert nur mit einem Int32Array.

Syntax

Atomics.wake(typedArray, index, count)

Parameter

typedArray
Ein geteiltes Int32Array.
index
Die Position im typedArray, an der aufgewacht wird.
count
Anzahl der aufzuweckenden Threads. Standard ist +Infinity.

Rückgabewert

Anzahl an geweckten Threads.

Exceptions

  • Erzeugt einen TypeError, wenn typedArray kein  Int32Array ist.
  • Erzeugt ein RangeError, wenn der index nicht in den Grenzen von typedArray ist.

Beipsiele

Gegeben ist ein Int32Array:

var sab = new SharedArrayBuffer(1024);
var int32 = new Int32Array(sab);

Ein lesender Thread schläft und wartet auf Position 0, ander der Wert 0 erwartet wird. Solange diese gegeben ist, geht es nicht weiter. Immer wenn ein neuer schreibender Thread einen neuen Wert speichert, wacht der Thread. Im Anschluss ist der neue Wert an der Position 0 (123).

Atomics.wait(int32, 0, 0);
console.log(int32[0]); // 123

Ein schreibender Thread speichert einen neuen Wert und wacht den wartenden Tread nach dem Schreiben auf.

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

Spezifikationen

Spezifikation Status Kommentar
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Atomics.wake' in dieser Spezifikation.
Entwurf Initiale Definition in ES2017.

Browserkompatibilität

No compatibility data found. Please contribute data for "javascript.builtins.Atomics.wake" (depth: 1) to the MDN compatibility data repository.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: schlagi123
Zuletzt aktualisiert von: schlagi123,