首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Atomics.wake

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

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

语法

代码语言:javascript
复制
Atomics.wake(typedArray, index, count)

参数

typedArray一个Int32Array.

index Array中唤醒的位置

count唤醒的数量,默认正无穷

返回值

唤醒的代理数量

异常

  • TypeError, 如果typedArray 不是 Int32Array.
  • RangeError, 参数越界typedArray.

示例

一个Int32Array:

代码语言:javascript
复制
var sab = new SharedArrayBuffer(1024);
var int32 = new Int32Array(sab);

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

代码语言:javascript
复制
Atomics.wait(int32, 0, 0);
console.log(int32[0]); // 123

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

代码语言:javascript
复制
console.log(int32[0]); // 0;
Atomics.store(int32, 0, 123); 
Atomics.wake(int32, 0, 1);

规范

Specification

Status

Comment

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

Draft

Initial definition in ES2017.

浏览器兼容性

Feature

Chrome

Edge

Firefox (Gecko)

Internet Explorer

Opera

Safari

Basic support

No support 2

No support

55 (55) 1

No support

No support

No support

Feature

Android

Chrome for Android

Firefox Mobile (Gecko)

IE Mobile

Opera Mobile

Safari Mobile

Basic support

No support

No support

55.0 (55) 1

No support

No support

No support

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com