Atomics.isLockFree()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Dezember 2021.
Die statische Methode Atomics.isLockFree() wird verwendet, um festzustellen, ob die Atomics-Methoden Sperren oder atomare Hardware-Operationen verwenden, wenn sie auf typisierte Arrays mit der gegebenen Element-Byte-Größe angewendet werden. Sie ist als Optimierungsprimitive gedacht, sodass Hochleistungsalgorithmen feststellen können, ob sie in kritischen Abschnitten Sperren oder atomare Operationen verwenden sollen. Wenn eine atomare Primitive nicht sperrfrei ist, ist es oft effizienter, wenn ein Algorithmus eine eigene Sperrung bereitstellt.
Probieren Sie es aus
console.log(Atomics.isLockFree(3));
// 3 is not one of the BYTES_PER_ELEMENT values
// Expected output: false
console.log(Atomics.isLockFree(4));
// 4 is one of the BYTES_PER_ELEMENT values
// Expected output: true
Syntax
Atomics.isLockFree(size)
Parameter
size-
Die Größe in Bytes, die überprüft werden soll.
Rückgabewert
Ein true oder false Wert, der angibt, ob die Operation sperrfrei ist.
- Immer
true, wennsize4 ist, da alle bekannten Plattformen 4-Byte-atomare Operationen unterstützen. - Immer
false, wenn die gegebene Größe nicht eine derBYTES_PER_ELEMENTEigenschaften der integer-TypedArray-Typen ist.
Beispiele
>Verwendung von Atomics.isLockFree()
Atomics.isLockFree(1); // true (platform-dependent)
Atomics.isLockFree(2); // true (platform-dependent)
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true
Atomics.isLockFree(5); // false
Atomics.isLockFree(6); // false
Atomics.isLockFree(7); // false
Atomics.isLockFree(8); // true (platform-dependent)
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.islockfree> |