Atomics.isLockFree()

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本上运行。 它在浏览器中自以下时间起可用 2021 年 12 月.

Atomics.isLockFree() 静态方法用于确定当应用于具有给定元素字节大小的类型化数组时,Atomics 方法是否使用锁或原子硬件操作。 它被设计为一个优化基元,以便高性能算法可以确定在关键部分使用锁还是原子操作。 如果原子基元不是无锁的,则算法提供自己的锁通常更有效。

试试看

语法

js
Atomics.isLockFree(size)

参数

size

要检查的字节大小。

返回值

一个truefalse 值,指示操作是否为无锁的。

  • 如果size 为 4,则始终为true,因为所有已知平台都支持 4 字节原子操作。
  • 如果给定的大小不是整数类型化数组类型的 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 语言规范
# sec-atomics.islockfree

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参见