Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2021年12月.
Atomics.wait() 静的メソッドは、共有メモリー位置に指定された値が含まれていることを確認し、含まれている場合は、覚醒通知またはタイムアウトを待つために休眠します。メモリー位置が指定された値と一致しない場合は "not-equal"、 Atomics.notify() によって覚醒した場合は "ok"、タイムアウトが切れた場合は "timed-out" という文字列を返します。
Atomics.wait() と Atomics.notify() は、共有メモリー内の値に基づいてスレッドの同期ができるようにするために一緒に使用されます。スレッドは、同期値が変更された場合、すぐに処理を続行することも、同期ポイントに到達したときに別のスレッドからの通知を待つこともできます。
このメソッドは、SharedArrayBuffer のビューである Int32Array または BigInt64Array でのみ動作します。これはブロッキング操作であり、メインスレッドでは使用できません。このメソッドの非ブロック、非同期バージョンについては、Atomics.waitAsync() をご覧ください。
SharedArrayBuffer のビューである Int32Array または BigInt64Array
index待つ対象となる typedArray の中の位置。
value検査で期待される値。
timeout 省略可待機時間(ミリ秒単位)。NaN(および NaN に変換される値、たとえば undefined)は Infinity になります。負の値は 0 になります。
文字列で、 "not-equal", "ok", "timed-out" のいずれかです。
次のいずれかの場合に発生します。
index が typedArray の範囲を超えている場合に発生します。
次のような共有された Int32Array があったとします。
読み取りスレッドは、指定された value が指定された index に格納されている値と一致するため、位置 0 で休眠して待機しています。 書き込みスレッドが、指定された typedArray の位置 0 で Atomics.notify() を呼び出すまで、読み取りスレッドは移動しません。 覚醒した後、位置 0 の値が書き込みスレッドによって変更されていない場合、読み取りスレッドは休眠状態に戻らず、処理を続行することに注意してください。
書き手のスレッドは新しい値を格納し、待っているスレッドに書き込みが完了したことを知らせます。
| ECMAScript® 2027 Language Specification # sec-atomics.wait |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年7月25日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.