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 | |
基本構文
JAVASCRIPT
// Atomics.pause() example
// See MDN Web Docs for details ライブデモ
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 リージョンで変更をスクリーンリーダーに通知する。