當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。