静态 Atomics .notify() method notifies up some agents that are sleeping in the wait queue.

注意: This operation works with a shared Int32Array only.
It will return 0 on non-shared ArrayBuffer 对象。

句法

Atomics.notify(typedArray, index, count)
					

参数

typedArray
A shared Int32Array .
index
The position in the typedArray to wake up on.
count 可选
The number of sleeping agents to notify. Defaults to +Infinity .

返回值

  • Returns the number of woken up agents.
  • 返回 0 , if a non-shared ArrayBuffer object is used.

异常

范例

使用 notify

Given a shared Int32Array :

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

A reading thread is sleeping and waiting on location 0 which is expected to be 0. As long as that is true, it will not go on. However, once the writing thread has stored a new value, it will be notified by the writing thread and return the new value (123).

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

A writing thread stores a new value and notifies the waiting thread once it has written:

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

规范

规范
ECMAScript (ECMA-262)
The definition of 'Atomics.notify' in that specification.

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
notify Chrome 68
68
不支持 60 — 63 Alternate Name
Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks . This was a temporary removal while mitigations were put in place.
Alternate Name Uses the non-standard name: wake
Edge 79 Firefox 78
78
63 Disabled
Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog) .
Disabled From version 63: this feature is behind the javascript.options.shared_memory preference (needs to be set to true ). To change preferences in Firefox, visit about:config.
57 Alternate Name Disabled
Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog) .
Alternate Name Uses the non-standard name: wake
Disabled From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true ). To change preferences in Firefox, visit about:config.
不支持 55 — 57
不支持 48 — 55 Disabled
Disabled From version 48 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true ). To change preferences in Firefox, visit about:config.
不支持 46 — 48 Alternate Name Disabled
count parameter defaults to 0 instead of the later-specified +Infinity .
Alternate Name Uses the non-standard name: futexWake
Disabled ). To change preferences in Firefox, visit about:config.
IE No Opera No Safari 10.1 — 11.1 Alternate Name
不支持 10.1 — 11.1 Alternate Name
Alternate Name Uses the non-standard name: wake
WebView Android 60 — 63 Alternate Name
不支持 60 — 63 Alternate Name
Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks . This is intended as a temporary measure until other mitigations are in place.
Alternate Name Uses the non-standard name: wake
Chrome Android 60 — 63 Alternate Name
不支持 60 — 63 Alternate Name
Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks . This is intended as a temporary measure until other mitigations are in place.
Alternate Name Uses the non-standard name: wake
Firefox Android 63 Disabled
63 Disabled
Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog) .
Disabled From version 63: this feature is behind the javascript.options.shared_memory preference (needs to be set to true ). To change preferences in Firefox, visit about:config.
57 Alternate Name Disabled
Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog) .
Alternate Name Uses the non-standard name: wake
Disabled From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true ). To change preferences in Firefox, visit about:config.
不支持 55 — 57
不支持 48 — 55 Disabled
Disabled From version 48 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true ). To change preferences in Firefox, visit about:config.
不支持 46 — 48 Alternate Name Disabled
count parameter defaults to 0 instead of the later-specified +Infinity .
Alternate Name Uses the non-standard name: futexWake
Disabled ). To change preferences in Firefox, visit about:config.
Opera Android No Safari iOS 10.3 — 11.3 Samsung Internet Android No Alternate Name
不支持 No Alternate Name
Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks . This is intended as a temporary measure until other mitigations are in place.
Alternate Name Uses the non-standard name: wake
nodejs 8.10.0 Alternate Name
8.10.0 Alternate Name
Alternate Name Uses the non-standard name: wake

图例

完整支持

完整支持

不支持

不支持

见实现注意事项。

用户必须明确启用此特征。

用户必须明确启用此特征。

使用非标名称。

另请参阅

元数据

  • 最后修改: