JS Atomics.notify()

🌙
手机阅读
本文目录结构

静态方法 **Atomics**.notify() 提醒一些在等待队列中休眠的代理。

**注意:**本操作仅在共享的 Int32Array 下可用。

语法

Atomics.notify(typedArray, index, count)

参数

typedArray

一个共享的 Int32Array

index

typedArray 中要唤醒的目标索引。

count

要通知的正在休眠的代理的数量。默认是 +Infinity

返回值

被唤醒的代理的数量。

异常

  • 若 typedArray 不是共享的 Int32Array,则抛出一个 TypeError 异常。
  • 若 index 索引超出了 typedArray 的大小,则抛出一个 RangeError 异常。

示例

分配一个共享的 Int32Array

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

一个读线程会进入休眠并监视索引0处的值(默认为0)。只要索引0处的值不为0,读进程就会唤醒。但是,一旦写进程存储了一个新的值,写进程就会产生一个提醒并返回写入后的新值(123)。

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

写进程写入一个新值并告知等待进程已经写入成功了:

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

规范

规范 状态 注释
ECMAScript Latest Draft (ECMA-262)Atomics.notify Draft Initial definition in ES2017.

相关文档

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了