Atomics - méthode notify ()
notifyLa méthode avertit l'agent en attente de se réveiller. notifier ne peut fonctionner qu'avec Int32Array créé à l'aide de SharedArrayBuffer. Il renvoie 0 en cas d'utilisation d'un objet ArrayBuffer non partagé.
Syntaxe
Atomics.notify(typedArray, index, count)
Paramètres
typedArray est un Int32Array partagé.
index est la position sur laquelle se réveiller dans le tableau de types.
count est le nombre d'agents dormants à notifier.
Revenir
Renvoie le nombre d'agents réveillés.
Des exceptions
TypeError dans le cas où le tableau passé n'est pas un tableau de type entier.
RangeError si l'index passé est hors limite dans le tableau typé.
Exemple
Voici le code pour implémenter 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>
Production
Vérifiez le résultat.