diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-12-11 00:21:15 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-12-19 03:03:48 +0900 |
commit | bef64616079cbcbd9c4eb3359f7644da5ebc33a6 (patch) | |
tree | 31d570ebf1001ace41d0fc6f2c5aafd2d8334674 /files | |
parent | c3fdf27c2d7a26303ceffd2ee9394a4fc3195dce (diff) | |
download | translated-content-bef64616079cbcbd9c4eb3359f7644da5ebc33a6.tar.gz translated-content-bef64616079cbcbd9c4eb3359f7644da5ebc33a6.tar.bz2 translated-content-bef64616079cbcbd9c4eb3359f7644da5ebc33a6.zip |
2021/12/09 時点の英語版に同期
Diffstat (limited to 'files')
10 files changed, 342 insertions, 504 deletions
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 index 8d74a1f890..0083a9bb11 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/add/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/add/index.md @@ -4,80 +4,62 @@ slug: Web/JavaScript/Reference/Global_Objects/Atomics/add tags: - Atomics - JavaScript - - Method - - Shared Memory - メソッド - - 共有メモリ + - 共有メモリー +browser-compat: javascript.builtins.Atomics.add translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>静的な <code><strong>Atomics</strong></code><strong><code>.add()</code></strong> メソッドは、配列内の指定した位置の値に加算して、その場所の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。</p> +静的な **`Atomics.add()`** メソッドは、配列内の指定した位置の値に加算して、その位置の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 -<div>{{EmbedInteractiveExample("pages/js/atomics-add.html")}}</div> +{{EmbedInteractiveExample("pages/js/atomics-add.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> +## 構文 -<h2 id="Syntax" name="Syntax">構文</h2> +```js +Atomics.add(typedArray, index, value) +``` -<pre class="syntaxbox">Atomics.add(<var>typedArray</var>, <var>index</var>, <var>value</var>) -</pre> +### 引数 -<h3 id="Parameters" name="Parameters">引数</h3> +- `typedArray` + - : 共有整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。 +- `index` + - : `typedArray` で `value` を加算する位置です。 +- `value` + - : 加算する数値です。 -<dl> - <dt><code><var>typedArray</var></code></dt> - <dd>共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。</dd> - <dt><code><var>index</var></code></dt> - <dd><code><var>typedArray</var></code> で <code><var>value</var></code> を加算する位置です。</dd> - <dt><code><var>value</var></code></dt> - <dd>加算する数値です。</dd> -</dl> +### 返値 -<h3 id="Return_value" name="Return_value">返値</h3> +指定された位置 (`typedArray[index]`) にあった古い値です。 -<p>指定された位置にあった古い値です (<code><var>typedArray</var>[<var>index</var>]</code>)。</p> +### 例外 -<h3 id="Exceptions" name="Exceptions">例外</h3> +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 -<ul> - <li><code><var>typedArray</var></code> が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。</li> - <li><code><var>typedArray</var></code> が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。</li> - <li><code><var>index</var></code> が <code><var>typedArray</var></code> の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。</li> -</ul> +## 例 -<h2 id="Examples" name="Examples">例</h2> +### add() の使用 -<h3 id="Using_add" name="Using_add">add() の使用</h3> - -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +const sab = new SharedArrayBuffer(1024); const ta = new Uint8Array(sab); Atomics.add(ta, 0, 12); // 古い値である 0 を返す。 -Atomics.load(ta, 0); // 12</pre> +Atomics.load(ta, 0); // 12 +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -<p>{{Compat("javascript.builtins.Atomics.add")}}</p> +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 -<ul> - <li>{{jsxref("Atomics")}}</li> - <li>{{jsxref("Atomics.sub()")}}</li> -</ul> +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.sub()")}} 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 index c03d40648b..bfc7f7d19d 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/and/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/and/index.md @@ -4,126 +4,84 @@ slug: Web/JavaScript/Reference/Global_Objects/Atomics/and tags: - Atomics - JavaScript - - Method - - Shared Memory - メソッド - - 共有メモリ + - 共有メモリー +browser-compat: javascript.builtins.Atomics.and translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/and --- -<div>{{JSRef}}</div> - -<p>静的な <code><strong>Atomics</strong></code><strong><code>.and()</code></strong> メソッドは、配列内の指定した位置の値に指定した値でビット単位の AND を計算し、その位置の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。</p> - -<div>{{EmbedInteractiveExample("pages/js/atomics-and.html")}}</div> - -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - -<h2 id="Syntax" name="Syntax">構文</h2> - -<pre class="syntaxbox">Atomics.and(<var>typedArray</var>, <var>index</var>, <var>value</var>) -</pre> - -<h3 id="Parameters" name="Parameters">引数</h3> - -<dl> - <dt><code><var>typedArray</var></code></dt> - <dd>共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。</dd> - <dt><code><var>index</var></code></dt> - <dd><code><var>typedArray</var></code> でビット単位の AND を計s名する位置です。</dd> - <dt><code><var>value</var></code></dt> - <dd>ビット単位の AND を取る数値です。</dd> -</dl> - -<h3 id="Return_value" name="Return_value">返値</h3> - -<p>指定された位置にあった古い値です (<code><var>typedArray</var>[<var>index</var>]</code>)。</p> - -<h3 id="Exceptions" name="Exceptions">例外</h3> - -<ul> - <li><code><var>typedArray</var></code> が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。</li> - <li><code><var>typedArray</var></code> が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。</li> - <li><code><var>index</var></code> が <code><var>typedArray</var></code> の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。</li> -</ul> - -<h2 id="Description" name="Description">解説</h2> - -<p>ビット単位の AND 操作は、 <code>a</code> と <code>b</code> の両方が 1 であった場合のみ 1 を生成します。 AND 操作の真理値表を示します。</p> - -<table class="standard-table"> - <thead> - <tr> - <th><code>a</code></th> - <th><code>b</code></th> - <th><code>a & b</code></th> - </tr> - </thead> - <tbody> - <tr> - <td>0</td> - <td>0</td> - <td>0</td> - </tr> - <tr> - <td>0</td> - <td>1</td> - <td>0</td> - </tr> - <tr> - <td>1</td> - <td>0</td> - <td>0</td> - </tr> - <tr> - <td>1</td> - <td>1</td> - <td>1</td> - </tr> - </tbody> -</table> - -<p>例えば、ビット単位の AND を <code>5 & 1</code> で行うと、結果は <code>0001</code> すなわち10進数で1となります。</p> - -<pre>5 0101 +{{JSRef}} + +静的な **`Atomics.and()`** メソッドは、配列内の指定した位置の値に指定した値でビット単位の AND を計算し、その位置の古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 + +{{EmbedInteractiveExample("pages/js/atomics-and.html")}} + +## 構文 + +```js +Atomics.and(typedArray, index, value) +``` + +### 引数 + +- `typedArray` + - : 共有整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。 +- `index` + - : `typedArray` でビット単位の AND を計算する位置です。 +- `value` + - : ビット単位の AND を取る数値です。 + +### 返値 + +指定された位置 (`typedArray[index]`) にあった古い値です。 + +### 例外 + +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 + +## 解説 + +ビット単位の AND 操作は、 `a` と `b` の両方が 1 であった場合のみ 1 を生成します。 AND 操作の真理値表を示します。 + +| `a` | `b` | `a & b` | +| --- | --- | ------- | +| 0 | 0 | 0 | +| 0 | 1 | 0 | +| 1 | 0 | 0 | +| 1 | 1 | 1 | + +例えば、ビット単位の AND を `5 & 1` で行うと、結果は `0001` すなわち 10 進数で 1 となります。 + +```plain +5 0101 1 0001 ---- -1 0001</pre> +1 0001 +``` -<h2 id="Examples" name="Examples">例</h2> +## 例 -<h3 id="Using_add" name="Using_add">add() の使用</h3> +### and() の使用 -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +const sab = new SharedArrayBuffer(1024); const ta = new Uint8Array(sab); ta[0] = 5; -Atomics.and(ta, 0, 1); // returns 0, the old value +Atomics.and(ta, 0, 1); // 古い値である 5 を返す Atomics.load(ta, 0); // 1 -</pre> - -<h2 id="Specifications" name="Specifications">仕様書</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.and', 'Atomics.and')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> - -<p>{{Compat("javascript.builtins.Atomics.and")}}</p> - -<h2 id="See_also" name="See_also">関連情報</h2> - -<ul> - <li>{{jsxref("Atomics")}}</li> - <li>{{jsxref("Atomics.or()")}}</li> - <li>{{jsxref("Atomics.xor()")}}</li> -</ul> +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.or()")}} +- {{jsxref("Atomics.xor()")}} 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 index ea5e985410..3d2bf2134d 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/compareexchange/index.md @@ -6,75 +6,63 @@ tags: - JavaScript - メソッド - 共有メモリー - - メソッド - - 共有メモリ +browser-compat: javascript.builtins.Atomics.compareExchange translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange --- {{JSRef}} -静的な <strong>Atomics</strong><strong>.compareExchange()</strong> メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。 +静的な **`Atomics.compareExchange()`** メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。これは、その位置での古い値が、期待された値と同じであったかどうかを返すものです。これは不可分操作で、変更された値が書き戻されるまで、他の書き込みが行われないことが保証されます。 {{EmbedInteractiveExample("pages/js/atomics-compareexchange.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - ## 構文 -<pre class="syntaxbox">Atomics.compareExchange(typedArray, index, value) -</pre> +```js +Atomics.compareExchange(typedArray, index, expectedValue, replacementValue) +``` ### 引数 -- typedArray - <dd>共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。</dd> -- index - <dd>typedArray で value と交換する位置です。</dd> -- expectedValue - <dd>等価性をチェックする値です。</dd> -- replacementValue - <dd>交換する数値です。</dd> +- `typedArray` + - : 共有整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。 +- `index` + - : `typedArray` で `value` と交換する位置です。 +- `expectedValue` + - : 等価性をチェックする値です。 +- `replacementValue` + - : 交換する数値です。 ### 返値 -指定された位置にあった古い値です (typedArray[index])。 +指定された位置 (`typedArray[index]`) にあった古い値です。 ### 例外 -- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 -- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 ## 例 -<h3 id="Using_compareExchange" name="Using_compareExchange">compareExchange() の使用</h3> +### compareExchange() の使用 -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +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</pre> +Atomics.load(ta, 0); // 12 +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.compareexchange', 'Atomics.compareExchange')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.compareExchange")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("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 index 332e3071f8..17617c557e 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/exchange/index.md @@ -6,72 +6,60 @@ tags: - JavaScript - メソッド - 共有メモリー - - メソッド - - 共有メモリ +browser-compat: javascript.builtins.Atomics.exchange translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/exchange --- {{JSRef}} -静的な <strong>Atomics</strong><strong>.exchange()</strong> メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。これは不可分操作で、古い値を読み取ってから新しい値を書き込むまでの間に他の物が書き込まないことを保証します。 +静的な **`Atomics.exchange()`** メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。これは不可分操作で、古い値を読み取ってから新しい値を書き込むまでの間に他の物が書き込まないことを保証します。 {{EmbedInteractiveExample("pages/js/atomics-exchange.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - ## 構文 -<pre class="syntaxbox">Atomics.exchange(typedArray, index, value) -</pre> +```js +Atomics.exchange(typedArray, index, value) +``` ### 引数 -- typedArray - <dd>共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。</dd> -- index - <dd>typedArray で value と交換する位置です。</dd> -- value - <dd>交換する数値です。</dd> +- `typedArray` + - : 共有整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。 +- `index` + - : `typedArray` で `value` と交換する位置です。 +- `value` + - : 交換する数値です。 ### 返値 -指定された位置にあった古い値です (typedArray[index])。 +指定された位置 (`typedArray[index]`) にあった古い値です。 ### 例外 -- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 -- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 ## 例 -<h3 id="Using_exchange" name="Using_exchange">exchange() の使用</h3> +### exchange() の使用 -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +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</pre> +Atomics.exchange(ta, 0, 12); // 古い値である 0 を返す +Atomics.load(ta, 0); // 12 +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.exchange', 'Atomics.exchange')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.exchange")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.compareExchange()")}} 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 index 73158d0d61..c91dde3653 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/load/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/load/index.md @@ -6,70 +6,58 @@ tags: - JavaScript - メソッド - 共有メモリー - - メソッド - - 共有メモリ +browser-compat: javascript.builtins.Atomics.load translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/load --- {{JSRef}} -静的な <strong>Atomics</strong><strong>.load()</strong> メソッドは、配列内の指定された位置の値を返します。 +静的な **`Atomics.load()`** メソッドは、配列内の指定された位置の値を返します。 {{EmbedInteractiveExample("pages/js/atomics-load.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - ## 構文 -<pre class="syntaxbox">Atomics.store(typedArray, index, value) -</pre> +```js +Atomics.load(typedArray, index) +``` ### 引数 -- typedArray - <dd>共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。</dd> -- index - <dd>typedArray の中で値を読み込む位置。</dd> +- `typedArray` + - : 整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。 +- `index` + - : `typedArray` の中で値を読み込む位置。 ### 返値 -指定された位置にある値です (typedArray[index])。 +指定された位置 (`typedArray[index]`) にある値です。 ### 例外 -- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 -- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 ## 例 -<h3 id="Using_load" name="Using_load">load() の使用</h3> +### `load` の使用 -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +const sab = new SharedArrayBuffer(1024); const ta = new Uint8Array(sab); Atomics.add(ta, 0, 12); -Atomics.load(ta, 0); // 12</pre> +Atomics.load(ta, 0); // 12 +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.load', 'Atomics.load')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.load")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.store()")}} 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 index fc8dd35ec7..15714dc15e 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/notify/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/notify/index.md @@ -2,86 +2,82 @@ title: Atomics.notify() slug: Web/JavaScript/Reference/Global_Objects/Atomics/notify tags: -- Atomics -- JavaScript -- メソッド -- 共有メモリー + - Atomics + - JavaScript + - メソッド + - 共有メモリー +browser-compat: javascript.builtins.Atomics.notify translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/notify original_slug: Web/JavaScript/Reference/Global_Objects/Atomics/wake --- {{JSRef}} -静的メソッドである <strong>Atomics</strong><strong>.notify()</strong> は、待ち行列で休眠状態にあるいくつかのエージェントに通知します。 +静的メソッドである **`Atomics.notify()`** は、待ち行列で休眠状態にあるエージェントに通知します。 -<div class="note"> -<p><strong>注:</strong> この操作は共有された {{jsxref("Int32Array")}} に対してのみ許可されています。<br> -共有されていない ArrayBuffer オブジェクトでは 0 を返します。</code></p> -</div> +> **Note:** この操作は共有された {{jsxref("Int32Array")}} に対してのみ動作します。 +> 共有されていない `ArrayBuffer` オブジェクトでは `0` を返します。 -<h2 id="Syntax">構文</h2> +## 構文 -<pre class="brush: js">Atomics.notify(typedArray, index, count) -</pre> +```js +Atomics.notify(typedArray, index, count) +``` -<h3 id="Parameters">引数</h3> +### 引数 - - typedArray - <dd>共有された {{jsxref("Int32Array")}}。</dd> - - index - <dd>起動する対象となる typedArray 中の位置。</dd> - - count - <dd>起動するエージェントの数。既定値は {{jsxref("Infinity", "+Infinity")}} です。</dd> +- `typedArray` + - : 共有された {{jsxref("Int32Array")}}。 +- `index` + - : 起動する対象となる `typedArray` 中の位置。 +- `count` {{optional_inline}} + - : 通知する休眠状態のエージェントの数。既定値は {{jsxref("Infinity", "+Infinity")}} です。 -<h3 id="Return_value">返値</h3> +### 返値 - - 起動したエージェントの数を返します。 - <li>共有されていない {{jsxref("ArrayBuffer")}} オブジェクトが使用された場合は、 0 - を返します。</li> +- 起動したエージェントの数を返します。 +- 共有されていない {{jsxref("ArrayBuffer")}} オブジェクトが使用された場合は、 `0` + を返します。 -<h3 id="Exceptions">例外</h3> +### 例外 -- typedArray が {{jsxref("Int32Array")}} でない場合、{{jsxref("TypeError")}} が送出される。 -- index が typedArray の範囲を超えている場合 {{jsxref("RangeError")}} が送出される。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 -<h2 id="Examples">例</h2> +## 例 -<h3 id="Using_notify">notify の使用</h3> +### `notify` の使用 -共有された Int32Array を用意します: +共有された `Int32Array` を用意します。 -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +const sab = new SharedArrayBuffer(1024); const int32 = new Int32Array(sab); -</pre> +``` -読み手のスレッドは、0 番目の値が 0 であることを期待してスリープします。それが満たされている間は処理が進みません。しかし、書き手のスレッドが新しい値をストアした場合、読み手のスレッドは読み手のスレッドによって起こされ、新しい値 (123) を取得します。 +読み手のスレッドは、0 番目の値が 0 であることを期待して休眠状態になります。それが満たされている間は処理が進みません。しかし、書き手のスレッドが新しい値を格納した場合、読み手のスレッドは書き手のスレッドによって起動され、新しい値 (123) を取得します。 -<pre class="brush: js">Atomics.wait(int32, 0, 0); -console.log(int32[0]); // 123</pre> +```js +Atomics.wait(int32, 0, 0); +console.log(int32[0]); // 123 +``` 書き手のスレッドは新しい値を格納し、待機中のスレッドに通知を行います。 -<pre class="brush: js">console.log(int32[0]); // 0; +```js +console.log(int32[0]); // 0; Atomics.store(int32, 0, 123); -Atomics.notify(int32, 0, 1);</pre> +Atomics.notify(int32, 0, 1); +``` -<h2 id="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">仕様書</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.notify', 'Atomics.notify')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.notify")}} +{{Compat}} -<h2 id="See_also">関連情報</h2> +## 関連情報 - - {{jsxref("Atomics")}} - - {{jsxref("Atomics.wait()")}} +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.wait()")}} 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 index f391f8bc8c..38efc65500 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/or/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/or/index.md @@ -6,114 +6,81 @@ tags: - JavaScript - メソッド - 共有メモリー +browser-compat: javascript.builtins.Atomics.or translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/or --- {{JSRef}} -静的な <strong>Atomics</strong><strong>.or()</strong> メソッドは、配列内の指定した位置の値に指定した値でビット単位の OR を計算し、その位置にあった古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 +静的な **`Atomics.or()`** メソッドは、配列内の指定した位置の値に指定した値でビット単位の OR を計算し、その位置にあった古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 {{EmbedInteractiveExample("pages/js/atomics-or.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - ## 構文 -<pre class="syntaxbox notranslate">Atomics.and(typedArray, index, value) -</pre> +```js +Atomics.or(typedArray, index, value) +``` ### 引数 -- typedArray - <dd>整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} の何れかです。</dd> -- index - <dd>typedArray でビット単位の OR を計算する位置です。</dd> -- value - <dd>ビット単位の OR を取る数値です。</dd> +- `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[index]`) にあった古い値です。 ### 例外 -- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 -<h2 id="Description" name="Description">解説</h2> +## 解説 ビット単位の OR 操作は、 a と b のどちらかが 1 であった場合に 1 を生成します。 OR 操作の真理値表を示します。 -<table class="standard-table"> - <thead> - <tr> - <th>a</th> - <th>b</th> - <th>a | b</th> - </tr> - </thead> - <tbody> - <tr> - <td>0</td> - <td>0</td> - <td>0</td> - </tr> - <tr> - <td>0</td> - <td>1</td> - <td>1</td> - </tr> - <tr> - <td>1</td> - <td>0</td> - <td>1</td> - </tr> - <tr> - <td>1</td> - <td>1</td> - <td>1</td> - </tr> - </tbody> -</table> - -例えば、ビット単位の OR を 5 | 1 で行うと、結果は 0101 すなわち10進数で5となります。 - -<pre class="notranslate">5 0101 +| `a` | `b` | `a \| b` | +| --- | --- | -------- | +| 0 | 0 | 0 | +| 0 | 1 | 1 | +| 1 | 0 | 1 | +| 1 | 1 | 1 | + +例えば、ビット単位の OR を 5 | 1 で行うと、結果は 0101 すなわち 10 進数で 5 となります。 + +```plain +5 0101 1 0001 ---- 5 0101 -</pre> +``` ## 例 -<h3 id="Using_or" name="Using_or">or の使用</h3> +### or の使用 -<pre class="brush: js notranslate">const sab = new SharedArrayBuffer(1024); +```js +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</pre> +Atomics.load(ta, 0); // 3 +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.or")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.and()")}} 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 index 8c316d09be..7820db2fc2 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/store/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/store/index.md @@ -6,31 +6,29 @@ tags: - JavaScript - メソッド - 共有メモリー - - メソッド - - 共有メモリ +browser-compat: javascript.builtins.Atomics.store translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/store --- {{JSRef}} -静的な <strong>Atomics</strong><strong>.store()</strong> メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。 +静的な **`Atomics.store()`** メソッドは、指定された値を配列内の指定した位置に格納し、その値を返します。 {{EmbedInteractiveExample("pages/js/atomics-store.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - ## 構文 -<pre class="syntaxbox">Atomics.store(typedArray, index, value) -</pre> +```js +Atomics.store(typedArray, index, value) +``` ### 引数 -- typedArray - <dd>共有整数型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。</dd> -- index - <dd>typedArray で value を格納する位置。</dd> -- value - <dd>格納する値。</dd> +- `typedArray` + - : 整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}} の何れかです。 +- `index` + - : `typedArray` で `value` を格納する位置です。 +- `value` + - : 格納する値です。 ### 返値 @@ -38,39 +36,29 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/store ### 例外 -- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 -- typedArray が共有型付き配列型ではない場合、 {{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 ## 例 -<h3 id="Using_store" name="Using_store">store() の使用</h3> +### store() の使用 -<pre class="brush: js">var sab = new SharedArrayBuffer(1024); +```js +var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); -Atomics.store(ta, 0, 12); // 12</pre> +Atomics.store(ta, 0, 12); // 12 +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.store', 'Atomics.store')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.store")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.load()")}} 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 index ea43e8ee5c..79b7985622 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/sub/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/sub/index.md @@ -6,33 +6,33 @@ tags: - JavaScript - メソッド - 共有メモリー +browser-compat: javascript.builtins.Atomics.sub translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub --- {{JSRef}} -静的な <strong>Atomics.sub()</strong> メソッドは、配列内の指定した位置の値から減算して、その場所にあった古い値を返します。この atomic 操作は、修正された値が書き戻されるまで、ほかの書き込みが発生しないことを保証します。 +静的な **`Atomics.sub()`** メソッドは、配列内の指定した位置の値から減算して、その場所にあった古い値を返します。この不可分操作は、修正された値が書き戻されるまで、ほかの書き込みが発生しないことを保証します。 {{EmbedInteractiveExample("pages/js/atomics-sub.html")}} -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> - ## 構文 -<pre class="syntaxbox notranslate">Atomics.sub(typedArray, index, value) -</pre> +```js +Atomics.sub(typedArray, index, value) +``` ### 引数 -- typedArray - <dd>整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} のいずれかです。</dd> -- index - <dd>typedArray で value を減算する位置です。</dd> -- value - <dd>減算する数値です。</dd> +- `typedArray` + - : 整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} のいずれかです。 +- `index` + - : `typedArray` で `value` を減算する位置です。 +- `value` + - : 減算する数値です。 ### 返値 -指定された位置にあった古い値です (typedArray[index])。 +指定された位置 (`typedArray[index]`) にあった古い値です。 ### 例外 @@ -41,36 +41,26 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub ## 例 -<h3 id="Using_sub" name="Using_sub">sub の使用</h3> +### sub の使用 -<pre class="brush: js notranslate">const sab = new SharedArrayBuffer(1024); +```js +const sab = new SharedArrayBuffer(1024); const ta = new Uint8Array(sab); ta[0] = 48; -Atomics.sub(ta, 0, 12); // returns 48, the old value +Atomics.sub(ta, 0, 12); // 古い値である 48 を返す Atomics.load(ta, 0); // 36 -</pre> +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.sub', 'Atomics.sub')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.sub")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.add()")}} 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 index 9eada752b4..4cd27a1e2b 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/wait/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/wait/index.md @@ -6,84 +6,77 @@ tags: - JavaScript - メソッド - 共有メモリー - - メソッド - - 共有メモリ +browser-compat: javascript.builtins.Atomics.wait translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/wait --- {{JSRef}} -<strong>Atomics</strong><strong>.wait()</strong> は静的なメソッドで、 {{jsxref("Int32Array")}} 中の指定された位置に指定された値が保存されているかどうかを検証し、検証できるまでスリープ、もしくはタイムアウトします。返値は "ok", "not-equal", "timed-out" のいずれかです。 +**`Atomics.wait()`** は静的なメソッドで、 {{jsxref("Int32Array")}} 中の指定された位置に指定された値が保存されているかどうかを検証し、検証できるまでスリープ、もしくはタイムアウトします。返値は "`ok`", "`not-equal`", "`timed-out`" のいずれかです。 -<div class="note"> -<strong>注:</strong> この操作は共有された {{jsxref("Int32Array")}} に対してのみ可能で、またメインスレッドでは実行できません。 -</div> +> **Note:** この操作は共有された {{jsxref("Int32Array")}} に対してのみ可能で、またメインスレッドでは実行できません。 ## 構文 -<pre class="syntaxbox">Atomics.wait(typedArray, index, value[, timeout]) -</pre> +```js +Atomics.wait(typedArray, index, value) +Atomics.wait(typedArray, index, value, timeout) +``` ### 引数 -- typedArray - <dd>共有された {{jsxref("Int32Array")}}。</dd> -- index - <dd>待つ対象となる typedArray の中の位置。</dd> -- value - <dd>期待される値。</dd> -- timeout {{optional_inline}} - <dd>ミリ秒で表した待ち時間。時間が指定されなかった場合は {{jsxref("Infinity")}}。</dd> +- `typedArray` + - : 共有された {{jsxref("Int32Array")}}。 +- `index` + - : 待つ対象となる `typedArray` の中の位置。 +- `value` + - : 期待される値。 +- `timeout` {{optional_inline}} + - : ミリ秒で表した待ち時間。時間が指定されなかった場合は {{jsxref("Infinity")}}。 ### 返値 -{{jsxref("String")}} で、 "ok", "not-equal", or "timed-out" のいずれか。 +文字列で、 "ok", "not-equal", or "timed-out" のいずれか。 ### 例外 -- typedArray が共有された {{jsxref("Int32Array")}} でない場合、 {{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合は {{jsxref("RangeError")}} が発生します。 +- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 ## 例 -<h3 id="Using_wait" name="Using_wait">wait() の使用</h3> +### wait() の使用 -次のような共有 Int32Array があったとします。 +次のような共有された `Int32Array` があったとします。 -<pre class="brush: js">const sab = new SharedArrayBuffer(1024); +```js +const sab = new SharedArrayBuffer(1024); const int32 = new Int32Array(sab); -</pre> +``` 読み手のスレッドはスリープし、 0 番目の値が 0 であることを期待して待ちます。これが成立している間、処理は進みません。しかし、書き手のスレッドが新しい値を格納した場合、書き手のスレッドによって通知され、新しい値 (123) が返ります。 -<pre class="brush: js">Atomics.wait(int32, 0, 0); -console.log(int32[0]); // 123</pre> +```js +Atomics.wait(int32, 0, 0); +console.log(int32[0]); // 123 +``` 書き手のスレッドは新しい値を格納し、待っているスレッドに書き込みが完了したことを知らせます。 -<pre class="brush: js">console.log(int32[0]); // 0; +```js +console.log(int32[0]); // 0; Atomics.store(int32, 0, 123); -Atomics.notify(int32, 0, 1);</pre> +Atomics.notify(int32, 0, 1); +``` -<h2 id="Specifications" name="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.wait', 'Atomics.wait')}}</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.wait")}} +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.notify()")}} |