これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。
静的な Atomics
.add()
メソッドは、配列内の指定した位置に値を追加して、その場所の古い値を返します。この atomic 操作は、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。
構文
Atomics.add(typedArray, index, value)
パラメータ
typedArray
- 共有された整数の TypedArray。
Int8Array
かUint8Array
、Int16Array
、Uint16Array
、Int32Array
、Uint32Array
のいずれか。 index
value
を追加するtypedArray
の位置value
- 追加する数値。
戻り値
指定した位置の古い値(typedArray[index]
)。
例外
typedArray
が許可された整数型ではなかった場合、TypeError
をスローする。typedArray
が共有された TypedArray 型ではなかった場合、TypeError
をスローする。typedArray
のindex
が境界から外れていた場合、RangeError
をスローする。
例
var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); Atomics.add(ta, 0, 12); // 古い値である 0 を返す。 Atomics.load(ta, 0); // 12
仕様
仕様 | ステータス | コメント |
---|---|---|
ECMAScript Shared Memory and Atomics Atomics.add の定義 |
ドラフト | 初期定義。 |
ブラウザ実装状況
機能 | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基本サポート | 未サポート [2] | 未サポート | 46 (46) [1] | 未サポート | 未サポート | 未サポート |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | 未サポート | 未サポート | 46.0 (46) [1] | 未サポート | 未サポート | 未サポート |
[1] この機能は設定で無効化されています。about:config で javascript.options.shared_memory
を true
に設定してください。
[2] 実装は実装中で、次のランタイムフラグが必要です: --js-flags=--harmony-sharedarraybuffer --enable-blink-feature=SharedArrayBuffer