当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Atomics.notify()用法及代码示例


在Atomic操作中,JavaScript中有一个内置操作Atomics.notify(),用于通知一些正在等待队列中的代理。 Atomics.notify()方法返回许多唤醒的代理。整数类型的数组,索引和计数作为参数传递给函数。

用法:

Atomics.notify(typedArray, index, count)

参数:此方法接受上述和以下所述的三个参数:



  • typedarray:此参数指定共享整数类型的数组Int16Array。
  • index:此参数指定数组中要等待的位置typedArray。
  • count:此参数计算要通知的睡眠代理的数量。其默认值为+ Infinity。

返回值:Atomics.notify()方法返回已唤醒代理的数量。

以下程序说明了JavaScript中的Atomics.notify()方法:

程序1:

const sab = new SharedArrayBuffer(1024); 
const int32 = new Int32Array(sab); 
int32[0] = 77;  
console.log(int32[0]); 
console.log(Atomics.store(int32, 0, 123));  
console.log(Atomics.notify(int32, 0, 1)); 

输出:

77
123
0

程序2:

const sab = new SharedArrayBuffer(1024); 
const int32 = new Int32Array(sab); 
int32[0] = 77;  
console.log(Atomics.load(int32, 66)); 
console.log(int32[0]); 
console.log(Atomics.store(int32, 0, 123));  
console.log(Atomics.notify(int32, 6, 1)); 
console.log(int32[0]);

输出:

0
77
123
0
123

异常:

  • 如果typedArray不是共享的Int32Array,则Atomics.notify()操作将引发TypeError。
  • 如果用作Atomics.notify()操作的参数的索引超出typedArray的范围,则Atomics.store()操作将引发RangeError。



相关用法


注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 JavaScript | Atomics.notify() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。