在线文档教程

Atomics.wake

Atomics.wake

静态Atomics.wake()方法唤醒在等待队列中休眠的某些代理

注意: 此操作仅适用于共享的 Int32Array。

语法

Atomics.wake(typedArray, index, count)

参数

typedArray一个Int32Array.

返回值

唤醒的代理数量

异常

  • TypeError, 如果typedArray 不是 Int32Array.

  • RangeError, 参数越界typedArray.

示例

一个Int32Array:

var sab = new SharedArrayBuffer(1024 var int32 = new Int32Array(sab

读取线程正在休眠, 等待位置 0, 预计将为0。只要这是真的, 它就不会继续下去。但是, 一旦写入线程存储了一个新值, 它将被写入线程唤醒并返回新值 (123)。

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

写入线程存储一个新值, 并在它写入后唤醒等待线程:

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

规范

SpecificationStatusComment
ECMAScript Latest Draft (ECMA-262)The definition of 'Atomics.wake' in that specification.DraftInitial definition in ES2017.

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic supportNo support 2No support55 (55) 1No supportNo supportNo support

FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic supportNo supportNo support55.0 (55) 1No supportNo supportNo support