Atomics.isLockFree()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.
Phương thức tĩnh Atomics.isLockFree() được sử dụng để xác định xem các phương thức Atomics có sử dụng khóa hay các thao tác phần cứng nguyên tử khi áp dụng cho các mảng được gõ với kích thước byte phần tử đã cho hay không. Nó được thiết kế như một nguyên thủy tối ưu hóa, để các thuật toán hiệu suất cao có thể xác định liệu nên sử dụng khóa hay thao tác nguyên tử trong các phần tới hạn. Nếu một nguyên thủy nguyên tử không free-lock, thường thì hiệu quả hơn cho một thuật toán khi cung cấp khóa riêng của mình.
Try it
console.log(Atomics.isLockFree(3));
// 3 is not one of the BYTES_PER_ELEMENT values
// Expected output: false
console.log(Atomics.isLockFree(4));
// 4 is one of the BYTES_PER_ELEMENT values
// Expected output: true
Cú pháp
Atomics.isLockFree(size)
Tham số
size-
Kích thước tính bằng byte cần kiểm tra.
Giá trị trả về
Giá trị true hoặc false chỉ ra liệu thao tác có free-lock hay không.
- Luôn là
truenếusizelà 4, vì tất cả các nền tảng đã biết đều hỗ trợ thao tác nguyên tử 4 byte. - Luôn là
falsenếu kích thước đã cho không phải là một trong các thuộc tínhBYTES_PER_ELEMENTcủa các kiểu TypedArray số nguyên.
Ví dụ
>Sử dụng Atomics.isLockFree()
Atomics.isLockFree(1); // true (phụ thuộc vào nền tảng)
Atomics.isLockFree(2); // true (phụ thuộc vào nền tảng)
Atomics.isLockFree(3); // false
Atomics.isLockFree(4); // true
Atomics.isLockFree(5); // false
Atomics.isLockFree(6); // false
Atomics.isLockFree(7); // false
Atomics.isLockFree(8); // true (phụ thuộc vào nền tảng)
Đặc tả kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-atomics.islockfree> |