From bef64616079cbcbd9c4eb3359f7644da5ebc33a6 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 11 Dec 2021 00:21:15 +0900 Subject: 2021/12/09 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reference/global_objects/atomics/wait/index.md | 79 ++++++++++------------ 1 file changed, 36 insertions(+), 43 deletions(-) (limited to 'files/ja/web/javascript/reference/global_objects/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 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}} -Atomics.wait() は静的なメソッドで、 {{jsxref("Int32Array")}} 中の指定された位置に指定された値が保存されているかどうかを検証し、検証できるまでスリープ、もしくはタイムアウトします。返値は "ok", "not-equal", "timed-out" のいずれかです。 +**`Atomics.wait()`** は静的なメソッドで、 {{jsxref("Int32Array")}} 中の指定された位置に指定された値が保存されているかどうかを検証し、検証できるまでスリープ、もしくはタイムアウトします。返値は "`ok`", "`not-equal`", "`timed-out`" のいずれかです。 -
-注: この操作は共有された {{jsxref("Int32Array")}} に対してのみ可能で、またメインスレッドでは実行できません。 -
+> **Note:** この操作は共有された {{jsxref("Int32Array")}} に対してのみ可能で、またメインスレッドでは実行できません。 ## 構文 -
Atomics.wait(typedArray, index, value[, timeout])
-
+```js +Atomics.wait(typedArray, index, value) +Atomics.wait(typedArray, index, value, timeout) +``` ### 引数 -- typedArray -
共有された {{jsxref("Int32Array")}}。
-- index -
待つ対象となる typedArray の中の位置。
-- value -
期待される値。
-- timeout {{optional_inline}} -
ミリ秒で表した待ち時間。時間が指定されなかった場合は {{jsxref("Infinity")}}。
+- `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")}} が発生します。 ## 例 -

wait() の使用

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

仕様書

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

ブラウザーの互換性

+## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.wait")}} +{{Compat}} -

関連情報

+## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.notify()")}} -- cgit v1.2.3-54-g00ecf