Open In App

JavaScript Atomics isLockFree() Method

Atomics.isLockFree() operation returns true if the given size is one of the BYTES_PER_ELEMENT properties of integer TypedArray types else Atomics.isLockFree() operation returns false. A lock-free element can be manipulated without needing a lock and the user does not require to provide its own locking mechanism.

What is BYTES_PER_ELEMENT property of integer TypedArray ? 



Applications: 

Syntax: 



Atomics.isLockFree(size) 

Parameters Used: 

Return Value: Atomics.isLockFree() returns either Boolean true indicating the operation is lock free or it returns false. 

Examples of the above function are provided below. 

Input : Atomics.isLockFree(5)
Output : false

Explanation: In this example, “5” is sent as a parameter to the Atomics.isLockFree() method and it returns false because “5” is not one of the BYTES_PER_ELEMENT values.  

Input : Atomics.isLockFree(6)
Output : false

Explanation: In this example, “6” is sent as a parameter to the Atomics.isLockFree() method and it returns false because “6” is not one of the BYTES_PER_ELEMENT values.  

Input : Atomics.isLockFree(2)
Output : true

Explanation: In this example, “2” is sent as a parameter to the Atomics.isLockFree() method and it returns true because “2” is one of the BYTES_PER_ELEMENT values.  

Input : Atomics.isLockFree(4)
Output : true

Explanation: In this example, “4” is sent as a parameter to the Atomics.isLockFree() method and it returns true because “4” is one of the BYTES_PER_ELEMENT values. 

Examples of the above function are provided below.

Example 1:  




// Displaying the return value of the 
// Atomics.isLockFree() method 
console.log(Atomics.isLockFree(5));
  
// Atomics.isLockFree() will return false since
// 5 is not one of the BYTES_PER_ELEMENT values

Output :  

false

Example 2: 




// Displaying the return value of
// the Atomics.isLockFree() method 
console.log(Atomics.isLockFree(6));
  
// Atomics.isLockFree() will return false since 6 
// is not one of the BYTES_PER_ELEMENT values

Output : 

false

Example 3: 




// Displaying the return value
// of the Atomics.isLockFree() method 
console.log(Atomics.isLockFree(2));
  
// Atomics.isLockFree() will return true since 
// 2 is one of the BYTES_PER_ELEMENT values

Output :  

true

Example 4: 




// Displaying the return value of the
// Atomics.isLockFree() method 
console.log(Atomics.isLockFree(4));
  
// Atomics.isLockFree() will return true since
//  4 is one of the BYTES_PER_ELEMENT values

OUTPUT :  

true

Application: Whenever we want to check whether an operation is lock-free or not or we want to validate the BYTES_PER_ELEMENT property of integer TypedArray, we use the Atomics.isLockFree() operation in JavaScript.

Example:




// Displaying the return value of 
// the Atomics.isLockFree() method 
console.log(Atomics.isLockFree(8));
  
// Atomics.isLockFree() will return true since 8 
// is one of the BYTES_PER_ELEMENT(Float64Array) values

Output : 

true

Exceptions : 

Supported Browser:

We have a complete list of Javascript Atomic methods, to check those please go through this JavaScript Atomics Complete Reference article.

We have a Cheat Sheet on Javascript where we covered all the important topics of Javascript to check those please go through Javascript Cheat Sheet-A Basic guide to JavaScript.  


Article Tags :