Atomics : méthode statique isLockFree()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis décembre 2021.
La méthode statique isLockFree() de l'objet Atomics est utilisée afin de déterminer si on doit utiliser des verrous (locks en anglais) ou des opérations atomiques. Elle sert de primitive d'optimisation, afin que des algorithmes hautement performants puissent déterminer s'ils doivent utiliser des verrous ou des opérations atomiques dans les sections critiques. Si une primitive atomique n'est pas sans verrou, il est souvent plus efficace qu'un algorithme mette en œuvre son propre mécanisme de verrouillage.
Exemple interactif
console.log(Atomics.isLockFree(3));
// 3 n'est pas l'une des valeurs BYTES_PER_ELEMENT
// Résultat attendu : false
console.log(Atomics.isLockFree(4));
// 4 est l'une des valeurs BYTES_PER_ELEMENT
// Résultat attendu : true
Syntaxe
Atomics.isLockFree(size)
Paramètres
size-
La taille en octets qu'on souhaite vérifier.
Valeur de retour
Une valeur true ou false indiquant si l'opération s'exécute sans verrou.
- Toujours
truesisizevaut 4, car toutes les plateformes connues prennent en charge les opérations atomiques sur 4 octets. - Toujours
falsesi la taille fournie ne figure pas parmi les valeurs de la propriétéBYTES_PER_ELEMENTdes typesTypedArrayentiers.
Exemples
>Utilisation de isLockFree()
Atomics.isLockFree(1); // true (dépend de la plateforme)
Atomics.isLockFree(2); // true (dépend de la plateforme)
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true
Atomics.isLockFree(5); // false
Atomics.isLockFree(6); // false
Atomics.isLockFree(7); // false
Atomics.isLockFree(8); // true (dépend de la plateforme)
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.islockfree> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Atomics