Atomics.isLockFree()
Atomics.isLockFree()
静态方法用于确定当应用于具有给定元素字节大小的类型化数组时,Atomics
方法是否使用锁或原子硬件操作。 它被设计为一个优化基元,以便高性能算法可以确定在关键部分使用锁还是原子操作。 如果原子基元不是无锁的,则算法提供自己的锁通常更有效。
试试看
语法
js
Atomics.isLockFree(size)
参数
size
-
要检查的字节大小。
返回值
一个true
或 false
值,指示操作是否为无锁的。
- 如果
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 表格仅在浏览器中加载