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.

Syntax

Atomics.isLockFree(size)

Parameters

size
The size in bytes to check.

Return value

A Boolean indicating whether the operation is lock free.

Examples

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

Specifications

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

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support

68

60 — 632

163

574 5

55 — 57

46 — 556

No No10.1 —?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support60 — 63160 — 631 ?

574 5

55 — 57

46 — 556

No No No

1. Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.

2. Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.

3. Support was removed to mitigate speculative execution side-channel attacks (Windows blog).

4. Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).

5. From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.

6. From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

Document Tags and Contributors

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