Atomics.isLockFree()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Dezember 2021 browserübergreifend verfügbar.
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
| Spezifikation |
|---|
| ECMAScript® 2026 Language Specification> # sec-atomics.islockfree> |