Atomics.isLockFree()
Atomics.isLockFree() 靜態方法用於確定當 Atomics 方法應用於給定元素位元組大小的型別化陣列時,是使用鎖還是原子硬體操作。它被設計為一個最佳化原語,以便高效能演算法可以確定在關鍵部分是使用鎖還是原子操作。如果一個原子原語不是無鎖的,那麼演算法提供自己的鎖通常會更有效。
試一試
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
語法
js
Atomics.isLockFree(size)
引數
size-
要檢查的位元組大小。
返回值
一個 true 或 false 值,指示操作是否為無鎖。
- 如果
size為 4,則始終為true,因為所有已知平臺都支援 4 位元組原子操作。 - 如果給定的大小不是整數 TypedArray 型別的
BYTES_PER_ELEMENT屬性之一,則始終為false。
示例
使用 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)
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-atomics.islockfree |
瀏覽器相容性
載入中…