From 4b1a9203c547c019fc5398082ae19a3f3d4c3efe Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:15 -0500 Subject: initial commit --- .../global_objects/atomics/add/index.html | 83 +++++++++++++ .../global_objects/atomics/and/index.html | 129 ++++++++++++++++++++ .../atomics/compareexchange/index.html | 86 ++++++++++++++ .../global_objects/atomics/exchange/index.html | 85 ++++++++++++++ .../reference/global_objects/atomics/index.html | 116 ++++++++++++++++++ .../global_objects/atomics/islockfree/index.html | 73 ++++++++++++ .../global_objects/atomics/load/index.html | 81 +++++++++++++ .../reference/global_objects/atomics/or/index.html | 129 ++++++++++++++++++++ .../global_objects/atomics/store/index.html | 82 +++++++++++++ .../global_objects/atomics/sub/index.html | 86 ++++++++++++++ .../global_objects/atomics/wait/index.html | 95 +++++++++++++++ .../global_objects/atomics/wake/index.html | 93 +++++++++++++++ .../global_objects/atomics/xor/index.html | 130 +++++++++++++++++++++ 13 files changed, 1268 insertions(+) create mode 100644 files/de/web/javascript/reference/global_objects/atomics/add/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/and/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/compareexchange/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/exchange/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/islockfree/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/load/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/or/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/store/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/sub/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/wait/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/wake/index.html create mode 100644 files/de/web/javascript/reference/global_objects/atomics/xor/index.html (limited to 'files/de/web/javascript/reference/global_objects/atomics') diff --git a/files/de/web/javascript/reference/global_objects/atomics/add/index.html b/files/de/web/javascript/reference/global_objects/atomics/add/index.html new file mode 100644 index 0000000000..f9b8e98b1b --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/add/index.html @@ -0,0 +1,83 @@ +--- +title: Atomics.add() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/add +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add +--- +
{{JSRef}}
+ +

Die statische Atomics.add() Methode addiert eine gegebenen Wert an einer gegebenen Position im Array und gibt den alten Wert zurück. Diese atomare Operation garantiert, dass keine andere Schreiboperation während der Operation durchgeführt werden kann.

+ +
{{EmbedInteractiveExample("pages/js/atomics-add.html")}}
+ + + +

Syntax

+ +
Atomics.add(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, zu der value addiert wird.
+
value
+
Die Zahl, die addiert werden soll.
+
+ +

Return value

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+
+Atomics.add(ta, 0, 12); // returns 0, the old value
+Atomics.load(ta, 0); // 12
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.add', 'Atomics.add')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.add")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/and/index.html b/files/de/web/javascript/reference/global_objects/atomics/and/index.html new file mode 100644 index 0000000000..34093b64e7 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/and/index.html @@ -0,0 +1,129 @@ +--- +title: Atomics.and() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/and +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/and +--- +
{{JSRef}}
+ +

Die statische Atomics.and() Methode berechnet eine bitweises UND mit einem gegebenen Wert auf einem Wert an einer gegebenen Position im Array und gibt den alten Wert an der Position zurück. Die atomare Operation garantiert, dass kein anderer Schreibprozess während der Operation durchgeführt wird.

+ +
{{EmbedInteractiveExample("pages/js/atomics-and.html")}}
+ + + +

Syntax

+ +
Atomics.and(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, mit der das bitweise UND berechnet wird.
+
value
+
Die Zahl, mit der das bitweise UND berechnet wird.
+
+ +

Rückgabewert

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beschreibung

+ +

Die bitweise UND Operation ergibt nur 1, wenn beide Werte, a und b, 1 sind. Die Wahrheitstabelle für die UND Operation ist:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aba & b
000
010
100
111
+ +

Zum Beispiel resultiert ein bitweises UND auf 5 & 1 in 0001, was im Dezimalsystem 1 ist.

+ +
5  0101
+1  0001
+   ----
+1  0001
+ +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+ta[0] = 5;
+
+Atomics.and(ta, 0, 1); // returns 0, the old value
+Atomics.load(ta, 0);  // 1
+
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.and', 'Atomics.and')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.and")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/compareexchange/index.html b/files/de/web/javascript/reference/global_objects/atomics/compareexchange/index.html new file mode 100644 index 0000000000..1c61ef7d26 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/compareexchange/index.html @@ -0,0 +1,86 @@ +--- +title: Atomics.compareExchange() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange +--- +
{{JSRef}}
+ +

Die statische Atomics.compareExchange() Methode ersetzt einen Wert an einer gegebenen Position im einem Array mit einem gegebene Wert aus, wenn ein gegebenen Wert gleich dem alten Wert ist. Es wird der alte Wert an der Position zurückgegeben, egal ob der abzugleichende Wert gleich oder nicht ist. Die atomare Operation garantiert, dass kein anderer Schreibprozess während der Operation durchgeführt wird.

+ +
{{EmbedInteractiveExample("pages/js/atomics-compareexchange.html")}}
+ + + +

Syntax

+ +
Atomics.compareExchange(typedArray, index, expectedValue, replacementValue)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, an den ein Wert ersetzt wird.
+
expectedValue
+
Wert, auf dem die gleichheit geprüft wird.
+
replacementValue
+
Neu Zahl, die geschreiben wird.
+
+ +

Rückgabewert

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+ta[0] = 7;
+
+Atomics.compareExchange(ta, 0, 7, 12); // returns 7, the old value
+Atomics.load(ta, 0); // 12
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.compareExchange")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/exchange/index.html b/files/de/web/javascript/reference/global_objects/atomics/exchange/index.html new file mode 100644 index 0000000000..df040868a6 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/exchange/index.html @@ -0,0 +1,85 @@ +--- +title: Atomics.exchange() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/exchange +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/exchange +--- +
{{JSRef}}
+ +

Die statische Atomics.exchange() Methode ersetzt einen Wert an einer gegebenen Position im einem Array mit einem gegebene Wert aus. Die atomare Operation garantiert, dass kein anderer Schreibprozess während der Operation durchgeführt wird.

+ +
{{EmbedInteractiveExample("pages/js/atomics-exchange.html")}}
+ + + +

Syntax

+ +
Atomics.compareExchange(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, an den ein Wert ersetzt wird.
+
value
+
Neu Zahl, die geschreiben wird.
+
+ +

Rückgabewert

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+
+Atomics.compareExchange(ta, 0, 12); // returns 0, the old value
+Atomics.load(ta, 0); // 12
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.exchange")}}

+ +

Siehe auch

+ + + +

 

diff --git a/files/de/web/javascript/reference/global_objects/atomics/index.html b/files/de/web/javascript/reference/global_objects/atomics/index.html new file mode 100644 index 0000000000..e8a945060e --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/index.html @@ -0,0 +1,116 @@ +--- +title: Atomics +slug: Web/JavaScript/Reference/Global_Objects/Atomics +tags: + - JavaScript + - Shared Memory + - Specifications +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics +--- +
{{JSRef}}
+ +

Das Atomics Objekt unterstützt atomare Operationen als statische Methoden. Diese werden mit {{jsxref("SharedArrayBuffer")}} Objekte benutzt.

+ +

Die atomaren Operationen sind auf dem Atomics Modul installiert. Anders, als bei anderen globalen Objekten, ist, dass Atomics kein Konstruktor ist. Man kann Atomics nicht mit einem new Operator oder als Funktion verwenden. Alle Eigenschaften und Methoden von Atomics sind statisch (genauso wie zum Beispiel bei dem {{jsxref("Math")}} Objekt).

+ +

Eigenschaften

+ +
+
Atomics[Symbol.toStringTag]
+
Der Wert dieser Eigenschaft ist: "Atomics".
+
+ +

Methoden

+ +

Atomare Operationen

+ +

Wenn Speicher geteilt wird, können mehrere Threads auf dem gleichen Speicher lesen und schreiben. Atomare Operationen stellen sicher, dass Werte in einer Operation geschrieben und gelesen werden bevor mit der nächste Operation begonnen wird und dass eine Operation nicht unterbrochen wird.

+ +
+
{{jsxref("Atomics.add()")}}
+
Addiert den angegebenen Wert dem existierenden Wert an der gegebenen Position im Array hinzu. Gibt den alten Wert an der Position zurück.
+
{{jsxref("Atomics.and()")}}
+
Berechnet ein Bitweises UND mit dem Wert an der angegebenen Position im Array und dem angegebenen Wert. Gibt den alten Wert an der Position zurück.
+
{{jsxref("Atomics.compareExchange()")}}
+
Speichert einen angegebenen Wert an der angegebenen Position im Array, wenn dieser gleich einem angegebene Wert ist. Gibt den alten Wert zurück.
+
{{jsxref("Atomics.exchange()")}}
+
Speichert einen angegebenen Wert an einer angegebenen Position im Array. Gibt den alten Wert zurück.
+
+ +
+
{{jsxref("Atomics.load()")}}
+
Gibt den Wert an einer angegebenen Position im Array zurück.
+
{{jsxref("Atomics.or()")}}
+
Berechnet ein Bitweises ODER mit dem gegebenen Wert an der angegebenen Position im Array und dem angegebenen Wert. Gibt den alten Wert an der Position zurück.
+
{{jsxref("Atomics.store()")}}
+
Speichert einen angegebenen Wert an einer angegebenen Position im Array. Gibt den Wert zurück.
+
{{jsxref("Atomics.sub()")}}
+
Subtrahiert einen angegebenen Wert von einem Wert an einer angegebenen Position im Array. Gibt den alten Wert an der Position zurück.
+
{{jsxref("Atomics.xor()")}}
+
Berechnet ein Bitweises XOR mit dem Wert an einer angegebenen Position im Array und einem angegebenen Wert. Gibt den alten Wert an der Position zurück.
+
+ +

Wait und notify

+ +

Die wait() und notify() Methoden sind auf Linux Futexes ("fast user-space mutex") modelliert und ermöglichen es zu warten, bis eine bestimmte Bedingung true wird, und wird als blockierendes Konstrukt verwendet.

+ +
+
{{jsxref("Atomics.wait()")}}
+
Überprüft, ob an der angegebenen Position in einem Array einen angegebener Wert enthalten ist und wartet oder bekommt ein Timeout. Es wird "ok", "not-equal", oder "timed-out" zurückgegeben. Wenn Warten im ausführenden Agenten nicht erlaubt ist, wird ein Fehler geworfen (die meisten Browser erlauben kein wait() im Browser main Thread).
+
{{jsxref("Atomics.notify()")}}
+
Benachrichtigt Agenten, die auf die angegebene Arrayposition warten. Gibt die Zahl der benachrichtigten Agenten zurück.
+
{{jsxref("Atomics.isLockFree()", "Atomics.isLockFree(size)")}}
+
+

Eine primitive Optimierung, die feststellten kann, ob Locks und atomare Operationen benutzt werden können. Gibt true zurück, wenn atomare Operationen auf einem Array der gegebenen Elementgröße mit einer atomaren Hardwareoperation implementiert ist (im Gegensatz zu einem Lock). Nur für Experten.

+
+
+ +

Spezifikationen

+ + + + + + + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics-object', 'Atomics')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
{{SpecName('ES8', '#sec-atomics-object', 'Atomics')}}{{Spec2('ES8')}} 
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics")}}

+ +

Kompatibilitätshinweise

+ +

Vor Firefox 48 waren die neuesten API-Namen und Semantiken noch nicht implementiert. Die Unterschiede zwischen der Firefox Version 46 und der Version 48 sind:

+ + + +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/islockfree/index.html b/files/de/web/javascript/reference/global_objects/atomics/islockfree/index.html new file mode 100644 index 0000000000..61bf90e0bf --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/islockfree/index.html @@ -0,0 +1,73 @@ +--- +title: Atomics.isLockFree() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/isLockFree +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/isLockFree +--- +
{{JSRef}}
+ +

Die statische Atomics.isLockFree() Methode wird benutzt, um festzustellen, ob ein Lock (Sperre) oder eine atomare Operation vorhanden ist. Sie gibt true zurück, wenn die gegebene Größe eine von den in der BYTES_PER_ELEMENT Eigenschften von Integer TypedArray Typen ist.

+ +
{{EmbedInteractiveExample("pages/js/atomics-islockfree.html")}}
+ + + +

Syntax

+ +
Atomics.isLockFree(size)
+
+ +

Parameter

+ +
+
size
+
Die größe in Bytes, für die geprüft wird.
+
+ +

Rückgabewert

+ +

Ein {{jsxref("Boolean")}}, der angibt, ob die Operation frei von Locks ist.

+ +

Beispiele

+ +
Atomics.isLockFree(1); // true
+Atomics.isLockFree(2); // true
+Atomics.isLockFree(3); // false
+Atomics.isLockFree(4); // true
+Atomics.isLockFree(5); // false
+Atomics.isLockFree(6); // false
+Atomics.isLockFree(7); // false
+Atomics.isLockFree(8); // false
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.islockfree', 'Atomics.isLockFree')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.isLockFree")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/load/index.html b/files/de/web/javascript/reference/global_objects/atomics/load/index.html new file mode 100644 index 0000000000..07d2c4a477 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/load/index.html @@ -0,0 +1,81 @@ +--- +title: Atomics.load() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/load +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/load +--- +
{{JSRef}}
+ +

Die statische Atomics.load() Methode gibt den Wert an einer gegebenen Position in einem Array zurück.

+ +
{{EmbedInteractiveExample("pages/js/atomics-load.html")}}
+ + + +

Syntax

+ +
Atomics.load(typedArray, index)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, von der der Wert geladen wird.
+
+ +

Rückgabewert

+ +

Der Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+
+Atomics.add(ta, 0, 12);
+Atomics.load(ta, 0); // 12
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.load', 'Atomics.load')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.load")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/or/index.html b/files/de/web/javascript/reference/global_objects/atomics/or/index.html new file mode 100644 index 0000000000..ec052cadde --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/or/index.html @@ -0,0 +1,129 @@ +--- +title: Atomics.or() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/or +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/or +--- +
{{JSRef}}
+ +

Die statische Atomics.or() Methode berechnet eine bitweises ODER mit einem gegebenen Wert auf einem Wert an einer gegebenen Position im Array und gibt den alten Wert an der Position zurück. Die atomare Operation garantiert, dass kein anderer Schreibprozess während der Operation durchgeführt wird.

+ +
{{EmbedInteractiveExample("pages/js/atomics-or.html")}}
+ + + +

Syntax

+ +
Atomics.and(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, mit der das bitweise ODER berechnet wird.
+
value
+
Die Zahl, mit der das bitweise ODER berechnet wird.
+
+ +

Rückgabewert

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beschreibung

+ +

Die bitweise ODER Operation ergibt nur 1, wenn eine Werte, a oder b, 1 ist. Die Wahrheitstabelle für die ODER Operation ist:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aba | b
000
011
101
111
+ +

Zum Beispiel resultiert ein bitweises ODER auf 5 | 1 in 0111, was im Dezimalsystem 5 ist.

+ +
5  0101
+1  0001
+   ----
+5  0101
+ +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+ta[0] = 2;
+
+Atomics.or(ta, 0, 1); // returns 2, the old value
+Atomics.load(ta, 0);  // 3
+
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.or")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/store/index.html b/files/de/web/javascript/reference/global_objects/atomics/store/index.html new file mode 100644 index 0000000000..6112dc5f62 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/store/index.html @@ -0,0 +1,82 @@ +--- +title: Atomics.store() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/store +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/store +--- +
{{JSRef}}
+ +

Die statische Atomics.store() Methode speichert einen gegebenen Wert an einer gegebenen Position in dem Array und gibt den Wert zurück.

+ +
{{EmbedInteractiveExample("pages/js/atomics-store.html")}}
+ + + +

Syntax

+ +
Atomics.store(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, an der value gespeichert wird.
+
value
+
Die Zahl, die gespeichert wird.
+
+ +

Rückgabewert

+ +

Der Wert, der abgespeichert wurde.

+ +

Exceptions

+ + + +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+
+Atomics.store(ta, 0, 12); // 12
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.store', 'Atomics.store')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.store")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/sub/index.html b/files/de/web/javascript/reference/global_objects/atomics/sub/index.html new file mode 100644 index 0000000000..cce9ae06c6 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/sub/index.html @@ -0,0 +1,86 @@ +--- +title: Atomics.sub() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/sub +tags: + - Atomics + - Java + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub +--- +
{{JSRef}}
+ +

Die statische Atomics.sub() Methode subtrahiert eine gegebenen Wert an einer gegebenen Position im Array und gibt den alten Wert zurück. Diese atomare Operation garantiert, dass keine andere Schreiboperation während der Operation durchgeführt werden kann.

+ +
{{EmbedInteractiveExample("pages/js/atomics-sub.html")}}
+ + + +

Syntax

+ +
Atomics.add(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, zu der value subtrahiert wird.
+
value
+
Die Zahl, die subtrahiert werden soll.
+
+ +

Return value

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+ta[0] = 48;
+
+Atomics.sub(ta, 0, 12); // returns 48, the old value
+Atomics.load(ta, 0); // 36
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.sub', 'Atomics.sub')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.sub")}}

+ +

Siehe auch

+ + + +

 

diff --git a/files/de/web/javascript/reference/global_objects/atomics/wait/index.html b/files/de/web/javascript/reference/global_objects/atomics/wait/index.html new file mode 100644 index 0000000000..6af6022fc4 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/wait/index.html @@ -0,0 +1,95 @@ +--- +title: Atomics.wait() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/wait +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/wait +--- +
{{JSRef}}
+ +

Die statische Atomics.wait() Methode verifiziert, dass eine gegebene Position in einem {{jsxref("Int32Array")}} ein gegebene Wert ist und dann schläft und entweder aufgeweckt wird oder ein Timeout bekommt. Die Strings "ok", "not-equal", und "timed-out" sind alle möglichen Rückgabewerte

+ +
+

Hinweis: Diese Operation funktioniert nur mit einem geteilten {{jsxref("Int32Array")}} und ist nicht im Main-Thread erlaubt.

+
+ +

Syntax

+ +
Atomics.wait(typedArray, index, value[, timeout])
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes {{jsxref("Int32Array")}}.
+
index
+
Die Position im typedArray, an der gewartet wird.
+
value
+
Der wert, mit dem getestet wird.
+
timeout {{optional_inline}}
+
Wartezeit in Millisekunden. {{jsxref("Infinity")}}, wenn keine Zeit angegeben wird.
+
+ +

Rückgabewert

+ +

Ein {{jsxref("String")}} welcher "ok", "not-equal" oder "timed-out" ist.

+ +

Exceptions

+ + + +

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 Thread nach dem Schreiben auf.

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

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.wait', 'Atomics.wait')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.wait")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/wake/index.html b/files/de/web/javascript/reference/global_objects/atomics/wake/index.html new file mode 100644 index 0000000000..5ac06d7adc --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/wake/index.html @@ -0,0 +1,93 @@ +--- +title: Atomics.notify() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/wake +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/notify +--- +
{{JSRef}}
+ +

Die statische Atomics.notify() Methode benachrichtigt Threads, die in einer Warteschlange schlafen.

+ +
+

Hinweis: Diese Operation funktioniert nur mit einem {{jsxref("Int32Array")}}.

+
+ +

Syntax

+ +
Atomics.notify(typedArray, index, count)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes {{jsxref("Int32Array")}}.
+
index
+
Die Position im typedArray, an der aufgewacht wird.
+
count
+
Anzahl der aufzuweckenden Threads. Standard ist {{jsxref("Infinity", "+Infinity")}}.
+
+ +

Rückgabewert

+ +

Anzahl an geweckten Threads.

+ +

Exceptions

+ + + +

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.notify(int32, 0, 1);
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.notify', 'Atomics.notify')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.notify")}}

+ +

Siehe auch

+ + diff --git a/files/de/web/javascript/reference/global_objects/atomics/xor/index.html b/files/de/web/javascript/reference/global_objects/atomics/xor/index.html new file mode 100644 index 0000000000..913fcc1298 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/atomics/xor/index.html @@ -0,0 +1,130 @@ +--- +title: Atomics.xor() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/xor +tags: + - Atomics + - JavaScript + - Method + - Shared Memory +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/xor +--- +
{{JSRef}}
+ +

Die statische Atomics.xor() Methode berechnet eine bitweises XOR mit einem gegebenen Wert auf einem Wert an einer gegebenen Position im Array und gibt den alten Wert an der Position zurück. Die atomare Operation garantiert, dass kein anderer Schreibprozess während der Operation durchgeführt wird.

+ +
{{EmbedInteractiveExample("pages/js/atomics-xor.html")}}
+ + + +

Syntax

+ +
Atomics.and(typedArray, index, value)
+
+ +

Parameter

+ +
+
typedArray
+
Ein geteiltes getrypted Integer Array. Eines von {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} oder {{jsxref("Uint32Array")}}.
+
index
+
Die Position in typedArray, mit der das bitweise XOR berechnet wird.
+
value
+
Die Zahl, mit der das bitweise XOR berechnet wird.
+
+ +

Rückgabewert

+ +

Der alte Wert an der gegebenen Position (typedArray[index]).

+ +

Exceptions

+ + + +

Beschreibung

+ +

Die bitweise XOR Operation ergibt nur 1, wenn genau ein Werte, a oder b, 1 ist. Die Wahrheitstabelle für die XOR Operation ist:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aba & b
000
011
101
110
+ +

Zum Beispiel resultiert ein bitweises XOR auf 5 & 1 in 0100, was im Dezimalsystem 4 ist.

+ +
5  0101
+1  0001
+   ----
+4  0100
+ +

Beispiele

+ +
var sab = new SharedArrayBuffer(1024);
+var ta = new Uint8Array(sab);
+ta[0] = 5;
+
+Atomics.xor(ta, 0, 1); // returns 5, the old value
+Atomics.load(ta, 0);  // 4
+ +

Spezifikationen

+ + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ESDraft', '#sec-atomics.xor', 'Atomics.xor')}}{{Spec2('ESDraft')}}Initiale Definition in ES2017.
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Atomics.xor")}}

+ +

Siehe auch

+ + + +

 

-- cgit v1.2.3-54-g00ecf