如果給定大小是整數 TypedArray 類型的 BYTES_PER_ELEMENT 屬性之一,Atomics.isLockFree() 操作返回 true,否則 Atomics.isLockFree() 操作返回 false。 lock-free 元素可以在不需要鎖的情況下進行操作,並且用戶不需要提供自己的鎖定機製。
整數 TypedArray 的 BYTES_PER_ELEMENT 屬性是什麽?
- TypedArray.BYTES_PER_ELEMENT 屬性表示類型化數組中每個元素的大小(以字節為單位)。
- 由於 TypedArray 對象在每個元素的字節數以及解釋字節的方式方麵彼此不同。
- BYTES_PER_ELEMENT 常量包含給定 TypedArray 中每個元素的字節數。
應用:
- Atomics.isLockFree() 用於檢查操作是否是無鎖的。
- 可用於驗證整數TypedArray的BYTES_PER_ELEMENT屬性
用法:
Atomics.isLockFree(size)
使用的參數:
- size:要檢查的大小(以字節為單位)
返回值:Atomics.isLockFree() 返回布爾 true 表示操作是無鎖的,否則返回 false。
下麵提供了上述函數的示例.
Input : Atomics.isLockFree(5) Output : false
說明:在此示例中,“5” 作為參數發送到 Atomics.isLockFree() 方法,並且它返回 false,因為 “5” 不是 BYTES_PER_ELEMENT 值之一。
Input : Atomics.isLockFree(6) Output : false
說明:在此示例中,“6” 作為參數發送到 Atomics.isLockFree() 方法,並且它返回 false,因為 “6” 不是 BYTES_PER_ELEMENT 值之一。
Input : Atomics.isLockFree(2) Output : true
說明:在此示例中,“2” 作為參數發送到 Atomics.isLockFree() 方法,並且它返回 true,因為 “2” 是 BYTES_PER_ELEMENT 值之一。
Input : Atomics.isLockFree(4) Output : true
說明:在此示例中,“4” 作為參數發送到 Atomics.isLockFree() 方法,並且它返回 true,因為 “4” 是 BYTES_PER_ELEMENT 值之一。
下麵提供了上述函數的示例。
示例 1:
javascript
// 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
輸出:
false
示例 2:
javascript
// 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
輸出:
false
示例 3:
javascript
// 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
輸出:
true
示例4:
javascript
// 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
輸出:
true
應用:每當我們想要檢查某個操作是否為 lock-free 或想要驗證整數 TypedArray 的 BYTES_PER_ELEMENT 屬性時,我們都會在 JavaScript 中使用 Atomics.isLockFree() 操作。
例子:
javascript
// 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
輸出:
true
異常:
- 如果 typedArray 不是允許的整數類型之一,則 Atomics.isLockFree( ) 操作會拋出 TypeError。
- 如果 typedArray 不是共享類型數組,則 Atomics.isLockFree( ) 操作會拋出 TypeError。
支持的瀏覽器:
- 穀歌瀏覽器
- 微軟邊
- Firefox
- Opera
- Safari
我們有 Javascript 原子方法的完整列表,要檢查這些方法,請閱讀這篇JavaScript Atomics Complete Reference 文章。
我們有一份關於 Javascript 的備忘單,其中涵蓋了 Javascript 的所有重要主題,請查看這些主題Javascript Cheat Sheet-A JavaScript 基本指南.
相關用法
- JavaScript Atomics add()用法及代碼示例
- JavaScript Atomics xor()用法及代碼示例
- JavaScript Atomics store()用法及代碼示例
- JavaScript Atomics compareExchange()用法及代碼示例
- JavaScript Atomics exchange()用法及代碼示例
- JavaScript Atomics or()用法及代碼示例
- JavaScript Atomics load()用法及代碼示例
- JavaScript Atomics waitAsync()用法及代碼示例
- JavaScript Atomics sub()用法及代碼示例
- JavaScript Atomics and()用法及代碼示例
- JavaScript Atomics.add()用法及代碼示例
- JavaScript Atomics.and()用法及代碼示例
- JavaScript Atomics.or()用法及代碼示例
- JavaScript Atomics.isLockFree()用法及代碼示例
- JavaScript Atomics.load()用法及代碼示例
- JavaScript Atomics.store()用法及代碼示例
- JavaScript Atomics.sub()用法及代碼示例
- JavaScript Atomics.xor()用法及代碼示例
- JavaScript Array length用法及代碼示例
- JavaScript Array reverse()用法及代碼示例
- JavaScript Array sort()用法及代碼示例
- JavaScript Array fill()用法及代碼示例
- JavaScript Array join()用法及代碼示例
- JavaScript Array toString()用法及代碼示例
- JavaScript Array pop()用法及代碼示例
注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 JavaScript Atomics isLockFree() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。