Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. Atomics
  6. notify()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Atomics.notify()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2021年12月⁩.

Atomics.notify() は静的メソッドで、待ち行列で休眠状態にあるエージェントに通知します。

メモ:この操作はSharedArrayBuffer のビューであるInt32Array またはBigInt64Array に対してのみ動作します。共有されていないArrayBuffer オブジェクトでは0 を返します。

構文

js
Atomics.notify(typedArray, index, count)

引数

typedArray

SharedArrayBuffer のビューであるInt32Array またはBigInt64Array

index

起動する対象となるtypedArray 中の位置。

count省略可

通知する休眠状態のエージェントの数。既定値はInfinity です。

返値

覚醒したエージェントの数を返します。このtypedArray が共有されていないArrayBuffer のビューである場合は0 を返します。

例外

TypeError

このtypedArrayInt32Array またはBigInt64Array のどちらでもない場合に発生します。

RangeError

indextypedArray の範囲を超えている場合に発生します。

notify の使用

共有されたInt32Array を用意します。

js
const sab = new SharedArrayBuffer(1024);const int32 = new Int32Array(sab);

指定されたvalue が指定されたindex に格納されている値と一致するため、読み取りスレッドは位置 0 で休眠状態で待機しています。書き込みスレッドが、指定されたtypedArray の位置 0 でAtomics.notify() を呼び出すまで、読み取りスレッドは移動しません。覚醒した後、位置 0 の値が書き込みスレッドによって変更されていない場合、読み取りスレッドは休眠状態に戻らず、処理を続行することに注意してください。

js
Atomics.wait(int32, 0, 0);console.log(int32[0]); // 123

書き手のスレッドは新しい値を格納し、待機中のスレッドに通知を行います。

js
console.log(int32[0]); // 0;Atomics.store(int32, 0, 123);Atomics.notify(int32, 0, 1);

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-atomics.notify

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp