From 39f2114f9797eb51994966c6bb8ff1814c9a4da8 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 12:36:08 +0100 Subject: unslug fr: move --- .../global_objects/atomics/wait/index.html | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 files/fr/web/javascript/reference/global_objects/atomics/wait/index.html (limited to 'files/fr/web/javascript/reference/global_objects/atomics/wait') diff --git a/files/fr/web/javascript/reference/global_objects/atomics/wait/index.html b/files/fr/web/javascript/reference/global_objects/atomics/wait/index.html new file mode 100644 index 0000000000..430cafd19a --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/atomics/wait/index.html @@ -0,0 +1,96 @@ +--- +title: Atomics.wait() +slug: Web/JavaScript/Reference/Objets_globaux/Atomics/wait +tags: + - Atomics + - JavaScript + - Mémoire partagée + - Méthode + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/wait +--- +
{{JSRef}}
+ +

La méthode statique Atomics.wait() permet de vérifier qu'un emplacement d'un tableau {{jsxref("Int32Array")}} contient toujours une valeur donnée et, si c'est le cas, l'agent dort en attendant un réveil ou un délai d'expiration. La méthode renvoie une chaîne qui vaut "ok", "not-equal" ou "timed-out".

+ +
+

Note : Cette opération ne fonctionne qu'avec un tableau typé partagé {{jsxref("Int32Array")}} et peut ne pas être autorisée sur le thread principal.

+
+ +

Syntaxe

+ +
Atomics.wait(typedArray, index, valeur[, timeout])
+
+ +

Paramètres

+ +
+
typedArray
+
Un tableau typé partagé de type {{jsxref("Int32Array")}}.
+
index
+
La position du tableau typé typedArray sur laquelle on attend un changement.
+
valeur
+
La valeur attendue qu'on souhaite tester.
+
timeout {{optional_inline}}
+
Le temps à attendre pour le changement de valeur, exprimé en millisecondes. La valeur par défaut est {{jsxref("Infinity")}}.
+
+ +

Valeur de retour

+ +

Une chaîne de caractères ({{jsxref("String")}} qui vaut "ok", "not-equal" ou "timed-out" selon le cas.

+ +

Exceptions levées

+ + + +

Exemples

+ +

Soit un tableau typé partagé Int32Array:

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

Un thread de lecture est en sommeille et surveille l'emplacement 0 et s'attend à ce que la valeur soit 0. Tant que cette condition est vérifiée, l'exécution n'ira pas plus loin. Lorsque le thread d'écriture a enregistré une nouvelle valeur, le thread de lecture sera notifié par le thread d'écriture et renverra la nouvelle valeur (123).

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

Un thread d'écriture stocke une nouvelle valeur et notifie le thread de lecture une fois que la valeur a bien été écrite :

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

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('ESDraft', '#sec-atomics.wait', 'Atomics.wait')}}{{Spec2('ESDraft')}}Définition initiale avec ES2017.
+ +

Compatibilité des navigateurs

+ + + +

{{Compat("javascript.builtins.Atomics.wait")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf