MDN’s new design is in Beta! A sneak peek:


The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT property of integer TypedArray types.




The size in byte to check.

Return value

A Boolean indicating whether the operation is lock free.


Atomics.isLockFree(1); // true
Atomics.isLockFree(2); // true
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true
Atomics.isLockFree(5); // false
Atomics.isLockFree(6); // false
Atomics.isLockFree(7); // false
Atomics.isLockFree(8); // false


Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'Atomics.isLockFree' in that specification.
Draft Initial definition in ES2017.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support No support [2] No support 55 (55) [1] No support No support No support
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support No support 55.0 (55) [1] No support No support No support

[1] In Firefox version 46 until version 54, this feature is disabled by a preference setting. In about:config, set javascript.options.shared_memory to true

[2] The implementation is under development and needs these runtime flags: --js-flags=--harmony-sharedarraybuffer --enable-blink-feature=SharedArrayBuffer

See also

Document Tags and Contributors

 Contributors to this page: fscholz, ziyunfei
 Last updated by: fscholz,