From c3fdf27c2d7a26303ceffd2ee9394a4fc3195dce Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Fri, 10 Dec 2021 00:17:01 +0900 Subject: Global_Objects/Atomics 以下の変換準備 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../global_objects/atomics/add/index.html | 83 ------------- .../reference/global_objects/atomics/add/index.md | 83 +++++++++++++ .../global_objects/atomics/and/index.html | 129 --------------------- .../reference/global_objects/atomics/and/index.md | 129 +++++++++++++++++++++ .../atomics/compareexchange/index.html | 86 -------------- .../atomics/compareexchange/index.md | 80 +++++++++++++ .../global_objects/atomics/exchange/index.html | 83 ------------- .../global_objects/atomics/exchange/index.md | 77 ++++++++++++ .../global_objects/atomics/load/index.html | 81 ------------- .../reference/global_objects/atomics/load/index.md | 75 ++++++++++++ .../global_objects/atomics/notify/index.html | 95 --------------- .../global_objects/atomics/notify/index.md | 87 ++++++++++++++ .../reference/global_objects/atomics/or/index.html | 126 -------------------- .../reference/global_objects/atomics/or/index.md | 120 +++++++++++++++++++ .../global_objects/atomics/store/index.html | 82 ------------- .../global_objects/atomics/store/index.md | 76 ++++++++++++ .../global_objects/atomics/sub/index.html | 82 ------------- .../reference/global_objects/atomics/sub/index.md | 76 ++++++++++++ .../global_objects/atomics/wait/index.html | 95 --------------- .../reference/global_objects/atomics/wait/index.md | 89 ++++++++++++++ 20 files changed, 892 insertions(+), 942 deletions(-) delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/add/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/add/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/and/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/and/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/exchange/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/exchange/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/load/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/load/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/notify/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/notify/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/or/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/or/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/store/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/store/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/sub/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/sub/index.md delete mode 100644 files/ja/web/javascript/reference/global_objects/atomics/wait/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/atomics/wait/index.md (limited to 'files/ja/web/javascript/reference') diff --git a/files/ja/web/javascript/reference/global_objects/atomics/add/index.html b/files/ja/web/javascript/reference/global_objects/atomics/add/index.html deleted file mode 100644 index 8d74a1f890..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/add/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -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}}
- -

静的な Atomics.add() メソッドは、配列内の指定した位置の値に加算して、その場所の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。

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

構文

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

引数

- -
-
typedArray
-
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
-
index
-
typedArrayvalue を加算する位置です。
-
value
-
加算する数値です。
-
- -

返値

- -

指定された位置にあった古い値です (typedArray[index])。

- -

例外

- - - -

- -

add() の使用

- -
const sab = new SharedArrayBuffer(1024);
-const ta = new Uint8Array(sab);
-
-Atomics.add(ta, 0, 12); // 古い値である 0 を返す。
-Atomics.load(ta, 0); // 12
- -

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}
- -

ブラウザーの互換性

- -

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

- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/add/index.md b/files/ja/web/javascript/reference/global_objects/atomics/add/index.md new file mode 100644 index 0000000000..8d74a1f890 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/add/index.md @@ -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}}
+ +

静的な Atomics.add() メソッドは、配列内の指定した位置の値に加算して、その場所の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。

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

構文

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

引数

+ +
+
typedArray
+
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
+
index
+
typedArrayvalue を加算する位置です。
+
value
+
加算する数値です。
+
+ +

返値

+ +

指定された位置にあった古い値です (typedArray[index])。

+ +

例外

+ + + +

+ +

add() の使用

+ +
const sab = new SharedArrayBuffer(1024);
+const ta = new Uint8Array(sab);
+
+Atomics.add(ta, 0, 12); // 古い値である 0 を返す。
+Atomics.load(ta, 0); // 12
+ +

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}
+ +

ブラウザーの互換性

+ +

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

+ +

関連情報

+ + diff --git a/files/ja/web/javascript/reference/global_objects/atomics/and/index.html b/files/ja/web/javascript/reference/global_objects/atomics/and/index.html deleted file mode 100644 index c03d40648b..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/and/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -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}}
- -

静的な Atomics.and() メソッドは、配列内の指定した位置の値に指定した値でビット単位の AND を計算し、その位置の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。

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

構文

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

引数

- -
-
typedArray
-
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
-
index
-
typedArray でビット単位の AND を計s名する位置です。
-
value
-
ビット単位の AND を取る数値です。
-
- -

返値

- -

指定された位置にあった古い値です (typedArray[index])。

- -

例外

- - - -

解説

- -

ビット単位の AND 操作は、 ab の両方が 1 であった場合のみ 1 を生成します。 AND 操作の真理値表を示します。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
aba & b
000
010
100
111
- -

例えば、ビット単位の AND を 5 & 1 で行うと、結果は 0001 すなわち10進数で1となります。

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

- -

add() の使用

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

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.and', 'Atomics.and')}}
- -

ブラウザーの互換性

- -

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

- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/and/index.md b/files/ja/web/javascript/reference/global_objects/atomics/and/index.md new file mode 100644 index 0000000000..c03d40648b --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/and/index.md @@ -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}}
+ +

静的な Atomics.and() メソッドは、配列内の指定した位置の値に指定した値でビット単位の AND を計算し、その位置の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。

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

構文

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

引数

+ +
+
typedArray
+
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
+
index
+
typedArray でビット単位の AND を計s名する位置です。
+
value
+
ビット単位の AND を取る数値です。
+
+ +

返値

+ +

指定された位置にあった古い値です (typedArray[index])。

+ +

例外

+ + + +

解説

+ +

ビット単位の AND 操作は、 ab の両方が 1 であった場合のみ 1 を生成します。 AND 操作の真理値表を示します。

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

例えば、ビット単位の AND を 5 & 1 で行うと、結果は 0001 すなわち10進数で1となります。

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

+ +

add() の使用

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

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-atomics.and', 'Atomics.and')}}
+ +

ブラウザーの互換性

+ +

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

+ +

関連情報

+ + diff --git a/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.html b/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.html deleted file mode 100644 index 085bc56c0d..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -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}}
- -

静的な Atomics.compareExchange() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。

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

構文

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

引数

- -
-
typedArray
-
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
-
index
-
typedArrayvalue と交換する位置です。
-
expectedValue
-
等価性をチェックする値です。
-
replacementValue
-
交換する数値です。
-
- -

返値

- -

指定された位置にあった古い値です (typedArray[index])。

- -

例外

- - - -

- -

compareExchange() の使用

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

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}}
- -

ブラウザーの互換性

- -

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

- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.md b/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.md new file mode 100644 index 0000000000..ea5e985410 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.md @@ -0,0 +1,80 @@ +--- +title: Atomics.compareExchange() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー + - メソッド + - 共有メモリ +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange +--- +{{JSRef}} + +静的な Atomics.compareExchange() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。 + +{{EmbedInteractiveExample("pages/js/atomics-compareexchange.html")}} + + + +## 構文 + +
Atomics.compareExchange(typedArray, index, value)
+
+ +### 引数 + +- typedArray +
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
+- index +
typedArray で value と交換する位置です。
+- expectedValue +
等価性をチェックする値です。
+- replacementValue +
交換する数値です。
+ +### 返値 + +指定された位置にあった古い値です (typedArray[index])。 + +### 例外 + +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +## 例 + +

compareExchange() の使用

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

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}}
+ +

ブラウザーの互換性

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

関連情報

+ +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.exchange()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.html b/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.html deleted file mode 100644 index 393227df92..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -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}}
- -

静的な Atomics.exchange() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。これは不可分操作で、古い値を読み取ってから新しい値を書き込むまでの間に他の物が書き込まないことを保証します。

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

構文

- -
Atomics.exchange(typedArray, index, value)
-
- -

引数

- -
-
typedArray
-
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
-
index
-
typedArrayvalue と交換する位置です。
-
value
-
交換する数値です。
-
- -

返値

- -

指定された位置にあった古い値です (typedArray[index])。

- -

例外

- - - -

- -

exchange() の使用

- -
const sab = new SharedArrayBuffer(1024);
-const ta = new Uint8Array(sab);
-
-Atomics.exchange(ta, 0, 12); // returns 0, the old value
-Atomics.load(ta, 0); // 12
- -

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}
- -

ブラウザーの互換性

- -

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

- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.md b/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.md new file mode 100644 index 0000000000..332e3071f8 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.md @@ -0,0 +1,77 @@ +--- +title: Atomics.exchange() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/exchange +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー + - メソッド + - 共有メモリ +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/exchange +--- +{{JSRef}} + +静的な Atomics.exchange() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。これは不可分操作で、古い値を読み取ってから新しい値を書き込むまでの間に他の物が書き込まないことを保証します。 + +{{EmbedInteractiveExample("pages/js/atomics-exchange.html")}} + + + +## 構文 + +
Atomics.exchange(typedArray, index, value)
+
+ +### 引数 + +- typedArray +
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
+- index +
typedArray で value と交換する位置です。
+- value +
交換する数値です。
+ +### 返値 + +指定された位置にあった古い値です (typedArray[index])。 + +### 例外 + +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +## 例 + +

exchange() の使用

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

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}
+ +

ブラウザーの互換性

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

関連情報

+ +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.compareExchange()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/load/index.html b/files/ja/web/javascript/reference/global_objects/atomics/load/index.html deleted file mode 100644 index 1434196ac0..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/load/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -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}}
- -

静的な Atomics.load() メソッドは、配列内の指定された位置の値を返します。

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

構文

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

引数

- -
-
typedArray
-
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
-
index
-
typedArray の中で値を読み込む位置。
-
- -

返値

- -

指定された位置にある値です (typedArray[index])。

- -

例外

- - - -

- -

load() の使用

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

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.load', 'Atomics.load')}}
- -

ブラウザーの互換性

- -

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

- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/load/index.md b/files/ja/web/javascript/reference/global_objects/atomics/load/index.md new file mode 100644 index 0000000000..73158d0d61 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/load/index.md @@ -0,0 +1,75 @@ +--- +title: Atomics.load() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/load +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー + - メソッド + - 共有メモリ +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/load +--- +{{JSRef}} + +静的な Atomics.load() メソッドは、配列内の指定された位置の値を返します。 + +{{EmbedInteractiveExample("pages/js/atomics-load.html")}} + + + +## 構文 + +
Atomics.store(typedArray, index, value)
+
+ +### 引数 + +- typedArray +
共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
+- index +
typedArray の中で値を読み込む位置。
+ +### 返値 + +指定された位置にある値です (typedArray[index])。 + +### 例外 + +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +## 例 + +

load() の使用

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

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-atomics.load', 'Atomics.load')}}
+ +

ブラウザーの互換性

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

関連情報

+ +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.store()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/notify/index.html b/files/ja/web/javascript/reference/global_objects/atomics/notify/index.html deleted file mode 100644 index 9574f2c3c0..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/notify/index.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Atomics.notify() -slug: Web/JavaScript/Reference/Global_Objects/Atomics/notify -tags: -- Atomics -- JavaScript -- Method -- Shared Memory -translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/notify -original_slug: Web/JavaScript/Reference/Global_Objects/Atomics/wake ---- -
{{JSRef}}
- -

静的メソッドである Atomics.notify() は、待ち行列で休眠状態にあるいくつかのエージェントに通知します。

- -
-

注: この操作は共有された {{jsxref("Int32Array")}} に対してのみ許可されています。
-共有されていない ArrayBuffer オブジェクトでは 0 を返します。

-
- -

構文

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

引数

- -
-
typedArray
-
共有された {{jsxref("Int32Array")}}。
-
index
-
起動する対象となる typedArray 中の位置。
-
count
-
起動するエージェントの数。既定値は {{jsxref("Infinity", "+Infinity")}} です。
-
- -

返値

- - - -

例外

- - - -

- -

notify の使用

- -

共有された Int32Array を用意します:

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

読み手のスレッドは、0 番目の値が 0 であることを期待してスリープします。それが満たされている間は処理が進みません。しかし、書き手のスレッドが新しい値をストアした場合、読み手のスレッドは読み手のスレッドによって起こされ、新しい値 (123) を取得します。

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

書き手のスレッドは新しい値を格納し、待機中のスレッドに通知を行います。

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

仕様書

- - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.notify', 'Atomics.notify')}}
- -

ブラウザーの互換性

- -

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

- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/notify/index.md b/files/ja/web/javascript/reference/global_objects/atomics/notify/index.md new file mode 100644 index 0000000000..fc8dd35ec7 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/notify/index.md @@ -0,0 +1,87 @@ +--- +title: Atomics.notify() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/notify +tags: +- Atomics +- JavaScript +- メソッド +- 共有メモリー +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/notify +original_slug: Web/JavaScript/Reference/Global_Objects/Atomics/wake +--- +{{JSRef}} + +静的メソッドである Atomics.notify() は、待ち行列で休眠状態にあるいくつかのエージェントに通知します。 + +
+

注: この操作は共有された {{jsxref("Int32Array")}} に対してのみ許可されています。
+共有されていない ArrayBuffer オブジェクトでは 0 を返します。

+
+ +

構文

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

引数

+ + - typedArray +
共有された {{jsxref("Int32Array")}}。
+ - index +
起動する対象となる typedArray 中の位置。
+ - count +
起動するエージェントの数。既定値は {{jsxref("Infinity", "+Infinity")}} です。
+ +

返値

+ + - 起動したエージェントの数を返します。 +
  • 共有されていない {{jsxref("ArrayBuffer")}} オブジェクトが使用された場合は、 0 + を返します。
  • + +

    例外

    + +- typedArray が {{jsxref("Int32Array")}} でない場合、{{jsxref("TypeError")}} が送出される。 +- index が typedArray の範囲を超えている場合 {{jsxref("RangeError")}} が送出される。 + +

    + +

    notify の使用

    + +共有された Int32Array を用意します: + +
    const sab = new SharedArrayBuffer(1024);
    +const int32 = new Int32Array(sab);
    +
    + +読み手のスレッドは、0 番目の値が 0 であることを期待してスリープします。それが満たされている間は処理が進みません。しかし、書き手のスレッドが新しい値をストアした場合、読み手のスレッドは読み手のスレッドによって起こされ、新しい値 (123) を取得します。 + +
    Atomics.wait(int32, 0, 0);
    +console.log(int32[0]); // 123
    + +書き手のスレッドは新しい値を格納し、待機中のスレッドに通知を行います。 + +
    console.log(int32[0]); // 0;
    +Atomics.store(int32, 0, 123);
    +Atomics.notify(int32, 0, 1);
    + +

    仕様書

    + + + + + + + + + + +
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.notify', 'Atomics.notify')}}
    + +

    ブラウザーの互換性

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

    関連情報

    + + - {{jsxref("Atomics")}} + - {{jsxref("Atomics.wait()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/or/index.html b/files/ja/web/javascript/reference/global_objects/atomics/or/index.html deleted file mode 100644 index 3259586fd2..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/or/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -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}}
    - -

    静的な Atomics.or() メソッドは、配列内の指定した位置の値に指定した値でビット単位の OR を計算し、その位置にあった古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。

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

    構文

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

    引数

    - -
    -
    typedArray
    -
    整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} の何れかです。
    -
    index
    -
    typedArray でビット単位の OR を計算する位置です。
    -
    value
    -
    ビット単位の OR を取る数値です。
    -
    - -

    返値

    - -

    指定された位置にあった古い値です (typedArray[index])。

    - -

    例外

    - - - -

    解説

    - -

    ビット単位の OR 操作は、 ab のどちらかが 1 であった場合に 1 を生成します。 OR 操作の真理値表を示します。

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    aba | b
    000
    011
    101
    111
    - -

    例えば、ビット単位の OR を 5 | 1 で行うと、結果は 0101 すなわち10進数で5となります。

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

    - -

    or の使用

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

    仕様書

    - - - - - - - - - - - - -
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}}
    - -

    ブラウザーの互換性

    - -

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

    - -

    関連情報

    - - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/or/index.md b/files/ja/web/javascript/reference/global_objects/atomics/or/index.md new file mode 100644 index 0000000000..f391f8bc8c --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/or/index.md @@ -0,0 +1,120 @@ +--- +title: Atomics.or() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/or +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/or +--- +{{JSRef}} + +静的な Atomics.or() メソッドは、配列内の指定した位置の値に指定した値でビット単位の OR を計算し、その位置にあった古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 + +{{EmbedInteractiveExample("pages/js/atomics-or.html")}} + + + +## 構文 + +
    Atomics.and(typedArray, index, value)
    +
    + +### 引数 + +- typedArray +
    整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} の何れかです。
    +- index +
    typedArray でビット単位の OR を計算する位置です。
    +- value +
    ビット単位の OR を取る数値です。
    + +### 返値 + +指定された位置にあった古い値です (typedArray[index])。 + +### 例外 + +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +

    解説

    + +ビット単位の OR 操作は、 a と b のどちらかが 1 であった場合に 1 を生成します。 OR 操作の真理値表を示します。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    aba | b
    000
    011
    101
    111
    + +例えば、ビット単位の OR を 5 | 1 で行うと、結果は 0101 すなわち10進数で5となります。 + +
    5  0101
    +1  0001
    +   ----
    +5  0101
    +
    + +## 例 + +

    or の使用

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

    仕様書

    + + + + + + + + + + + + +
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}}
    + +

    ブラウザーの互換性

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

    関連情報

    + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.and()")}} +- {{jsxref("Atomics.xor()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/store/index.html b/files/ja/web/javascript/reference/global_objects/atomics/store/index.html deleted file mode 100644 index 862fc94381..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/store/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -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}}
    - -

    静的な Atomics.store() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。

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

    構文

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

    引数

    - -
    -
    typedArray
    -
    共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
    -
    index
    -
    typedArrayvalue を格納する位置。
    -
    value
    -
    格納する値。
    -
    - -

    返値

    - -

    格納された値です。

    - -

    例外

    - - - -

    - -

    store() の使用

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

    仕様書

    - - - - - - - - - - - - -
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.store', 'Atomics.store')}}
    - -

    ブラウザーの互換性

    - -

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

    - -

    関連情報

    - - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/store/index.md b/files/ja/web/javascript/reference/global_objects/atomics/store/index.md new file mode 100644 index 0000000000..8c316d09be --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/store/index.md @@ -0,0 +1,76 @@ +--- +title: Atomics.store() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/store +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー + - メソッド + - 共有メモリ +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/store +--- +{{JSRef}} + +静的な Atomics.store() メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。 + +{{EmbedInteractiveExample("pages/js/atomics-store.html")}} + + + +## 構文 + +
    Atomics.store(typedArray, index, value)
    +
    + +### 引数 + +- typedArray +
    共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。
    +- index +
    typedArray で value を格納する位置。
    +- value +
    格納する値。
    + +### 返値 + +格納された値です。 + +### 例外 + +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +## 例 + +

    store() の使用

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

    仕様書

    + + + + + + + + + + + + +
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.store', 'Atomics.store')}}
    + +

    ブラウザーの互換性

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

    関連情報

    + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.load()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/sub/index.html b/files/ja/web/javascript/reference/global_objects/atomics/sub/index.html deleted file mode 100644 index b356a4f5f9..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/sub/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Atomics.sub() -slug: Web/JavaScript/Reference/Global_Objects/Atomics/sub -tags: - - Atomics - - JavaScript - - Method - - Shared Memory -translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub ---- -
    {{JSRef}}
    - -

    静的な Atomics.sub() メソッドは、配列内の指定した位置の値から減算して、その場所にあった古い値を返します。この atomic 操作は、修正された値が書き戻されるまで、ほかの書き込みが発生しないことを保証します。

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

    構文

    - -
    Atomics.sub(typedArray, index, value)
    -
    - -

    引数

    - -
    -
    typedArray
    -
    整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} のいずれかです。
    -
    index
    -
    typedArrayvalue を減算する位置です。
    -
    value
    -
    減算する数値です。
    -
    - -

    返値

    - -

    指定された位置にあった古い値です (typedArray[index])。

    - -

    例外

    - - - -

    - -

    sub の使用

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

    仕様書

    - - - - - - - - - - - - -
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.sub', 'Atomics.sub')}}
    - -

    ブラウザーの互換性

    - -

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

    - -

    関連情報

    - - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/sub/index.md b/files/ja/web/javascript/reference/global_objects/atomics/sub/index.md new file mode 100644 index 0000000000..ea43e8ee5c --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/sub/index.md @@ -0,0 +1,76 @@ +--- +title: Atomics.sub() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/sub +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub +--- +{{JSRef}} + +静的な Atomics.sub() メソッドは、配列内の指定した位置の値から減算して、その場所にあった古い値を返します。この atomic 操作は、修正された値が書き戻されるまで、ほかの書き込みが発生しないことを保証します。 + +{{EmbedInteractiveExample("pages/js/atomics-sub.html")}} + + + +## 構文 + +
    Atomics.sub(typedArray, index, value)
    +
    + +### 引数 + +- typedArray +
    整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} のいずれかです。
    +- index +
    typedArray で value を減算する位置です。
    +- value +
    減算する数値です。
    + +### 返値 + +指定された位置にあった古い値です (typedArray[index])。 + +### 例外 + +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +## 例 + +

    sub の使用

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

    仕様書

    + + + + + + + + + + + + +
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.sub', 'Atomics.sub')}}
    + +

    ブラウザーの互換性

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

    関連情報

    + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.add()")}} diff --git a/files/ja/web/javascript/reference/global_objects/atomics/wait/index.html b/files/ja/web/javascript/reference/global_objects/atomics/wait/index.html deleted file mode 100644 index 2f7070b455..0000000000 --- a/files/ja/web/javascript/reference/global_objects/atomics/wait/index.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -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}}
    - -

    Atomics.wait() は静的なメソッドで、 {{jsxref("Int32Array")}} 中の指定された位置に指定された値が保存されているかどうかを検証し、検証できるまでスリープ、もしくはタイムアウトします。返値は "ok", "not-equal", "timed-out" のいずれかです。

    - -
    -

    注: この操作は共有された {{jsxref("Int32Array")}} に対してのみ可能で、またメインスレッドでは実行できません。

    -
    - -

    構文

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

    引数

    - -
    -
    typedArray
    -
    共有された {{jsxref("Int32Array")}}。
    -
    index
    -
    待つ対象となる typedArray の中の位置。
    -
    value
    -
    期待される値。
    -
    timeout {{optional_inline}}
    -
    ミリ秒で表した待ち時間。時間が指定されなかった場合は {{jsxref("Infinity")}}。
    -
    - -

    返値

    - -

    {{jsxref("String")}} で、 "ok", "not-equal", or "timed-out" のいずれか。

    - -

    例外

    - - - -

    - -

    wait() の使用

    - -

    次のような共有 Int32Array があったとします。

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

    読み手のスレッドはスリープし、 0 番目の値が 0 であることを期待して待ちます。これが成立している間、処理は進みません。しかし、書き手のスレッドが新しい値を格納した場合、書き手のスレッドによって通知され、新しい値 (123) が返ります。

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

    書き手のスレッドは新しい値を格納し、待っているスレッドに書き込みが完了したことを知らせます。

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

    仕様書

    - - - - - - - - - - - - -
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.wait', 'Atomics.wait')}}
    - -

    ブラウザーの互換性

    - -

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

    - -

    関連情報

    - - diff --git a/files/ja/web/javascript/reference/global_objects/atomics/wait/index.md b/files/ja/web/javascript/reference/global_objects/atomics/wait/index.md new file mode 100644 index 0000000000..9eada752b4 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/atomics/wait/index.md @@ -0,0 +1,89 @@ +--- +title: Atomics.wait() +slug: Web/JavaScript/Reference/Global_Objects/Atomics/wait +tags: + - Atomics + - JavaScript + - メソッド + - 共有メモリー + - メソッド + - 共有メモリ +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/wait +--- +{{JSRef}} + +Atomics.wait() は静的なメソッドで、 {{jsxref("Int32Array")}} 中の指定された位置に指定された値が保存されているかどうかを検証し、検証できるまでスリープ、もしくはタイムアウトします。返値は "ok", "not-equal", "timed-out" のいずれかです。 + +
    +注: この操作は共有された {{jsxref("Int32Array")}} に対してのみ可能で、またメインスレッドでは実行できません。 +
    + +## 構文 + +
    Atomics.wait(typedArray, index, value[, timeout])
    +
    + +### 引数 + +- typedArray +
    共有された {{jsxref("Int32Array")}}。
    +- index +
    待つ対象となる typedArray の中の位置。
    +- value +
    期待される値。
    +- timeout {{optional_inline}} +
    ミリ秒で表した待ち時間。時間が指定されなかった場合は {{jsxref("Infinity")}}。
    + +### 返値 + +{{jsxref("String")}} で、 "ok", "not-equal", or "timed-out" のいずれか。 + +### 例外 + +- typedArray が共有された {{jsxref("Int32Array")}} でない場合、 {{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合は {{jsxref("RangeError")}} が発生します。 + +## 例 + +

    wait() の使用

    + +次のような共有 Int32Array があったとします。 + +
    const sab = new SharedArrayBuffer(1024);
    +const int32 = new Int32Array(sab);
    +
    + +読み手のスレッドはスリープし、 0 番目の値が 0 であることを期待して待ちます。これが成立している間、処理は進みません。しかし、書き手のスレッドが新しい値を格納した場合、書き手のスレッドによって通知され、新しい値 (123) が返ります。 + +
    Atomics.wait(int32, 0, 0);
    +console.log(int32[0]); // 123
    + +書き手のスレッドは新しい値を格納し、待っているスレッドに書き込みが完了したことを知らせます。 + +
    console.log(int32[0]); // 0;
    +Atomics.store(int32, 0, 123);
    +Atomics.notify(int32, 0, 1);
    + +

    仕様書

    + + + + + + + + + + + + +
    仕様書
    {{SpecName('ESDraft', '#sec-atomics.wait', 'Atomics.wait')}}
    + +

    ブラウザーの互換性

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

    関連情報

    + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.notify()")}} -- cgit v1.2.3-54-g00ecf