Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
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, wenn size 4 ist, da alle bekannten Plattformen 4-Byte-atomare Operationen unterstützen.
  • Immer false, wenn die gegebene Größe nicht eine der BYTES_PER_ELEMENT Eigenschaften der integer-TypedArray-Typen ist.

Beispiele

Verwendung von Atomics.isLockFree()

js
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

Browser-Kompatibilität

Siehe auch