Atomics.pause()
Atomics.pause() は静的メソッドで、呼び出し側が共有リソースへのアクセスを待機している間、CPU にそのことを知らせるマイクロ待機プリミティブを提供します。これにより、システムは、現在のスレッドを委譲することなく、コア(電力など)またはスレッドに割り当てられているリソースを縮小することができます。
pause() は、タイミング以外の監視可能な動作は一切ありません。正確な動作は、 CPU アーキテクチャおよびオペレーティングシステムによって異なります。例えば、 Intel x86 では、 Intel の最適化マニュアル によると、 pause 命令である可能性があります。プラットフォームによっては、何もしない命令である場合もあります。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 133 | 133 | 137 | 18.4 | 133 | 18.4 | |
ライブデモ
Check Atomics.pause support
Detect whether Atomics.pause is available in the current runtime.
JavaScript
出力
「実行」ボタンを押してください
Call Atomics.pause safely
Invoke Atomics.pause only when the API exists.
JavaScript
出力
「実行」ボタンを押してください
Use a guarded spin helper
Build a tiny helper that prefers Atomics.pause during a retry loop.
JavaScript
出力
「実行」ボタンを押してください
実務での使いどころ
-
Atomics.pause() の活用
Atomics.pause() は静的メソッドで、呼び出し側が共有リソースへのアクセスを待機している間、CPU にそのことを知らせるマイクロ待機プリミティブを提供します。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。