Atomics - metodo notify ()
notifyil metodo notifica all'agente in attesa di svegliarsi. Il metodo notify può funzionare solo con Int32Array creato utilizzando SharedArrayBuffer. Restituisce 0 in caso di utilizzo di un oggetto ArrayBuffer non condiviso.
Sintassi
Atomics.notify(typedArray, index, count)
Parametri
typedArray è un Int32Array condiviso.
index è la posizione nel typedarray su cui svegliarsi.
count è il numero di agenti inattivi da notificare.
Ritorno
Restituisce il numero di agenti svegliati.
Eccezioni
TypeError nel caso in cui l'array passato non sia un array di tipo intero.
RangeError se l'indice passato è fuori limite nell'array digitato.
Esempio
Di seguito è riportato il codice per l'implementazione di JavaScript Atomics:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Atomics Example</title>
<style>
.result {
font-size: 20px;
border: 1px solid black;
}
</style>
</head>
<body onLoad="operate();">
<h1>JavaScript Atomics Properties</h1>
<div class="result"></div>
<p>Atomics.store(arr, 0, 5)</p>
<p>Atomics.notify(arr, 0, 1)</p>
<script>
function operate(){
let container = document.querySelector(".result");
// create a SharedArrayBuffer
var buffer = new SharedArrayBuffer(16);
var arr = new Int32Array(buffer);
// Initialise element at zeroth position of array with 6
arr[0] = 6;
container.innerHTML = Atomics.store(arr, 0, 5) + '<br>' + Atomics.notify(arr, 0, 1);
}
</script>
</body>
</html>
Produzione
Verifica il risultato.