Đối tượng Atomics cung cấp các thao tác nguyên tử dưới dạng phương thức tĩnh để làm việc với SharedArrayBuffer, đảm bảo an toàn khi nhiều luồng truy cập cùng một vùng nhớ.
Phương thức Atomics.store() ghi một giá trị vào vị trí chỉ định trong mảng kiểu và trả về chính giá trị đó.
Cú pháp
Atomics.store(typedArray, index, value)
typedArray: Mảng kiểu (Int8Array, Uint8Array, Int16Array, v.v.)index: Vị trí cần ghivalue: Giá trị cần lưu
Ví dụ cơ bản
const buffer = new SharedArrayBuffer(16);
const data = new Uint8Array(buffer);
data[0] = 20;
Atomics.store(data, 0, 30);
console.log(Atomics.load(data, 0)); // 30
Ví dụ ghi nhiều vị trí
const buffer = new SharedArrayBuffer(16);
const data = new Uint8Array(buffer);
console.log(Atomics.store(data, 0, 10)); // 10
console.log(Atomics.store(data, 1, 20)); // 20
console.log(Atomics.store(data, 2, 30)); // 30
console.log(Atomics.store(data, 3, 40)); // 40
Đặc điểm quan trọng
- Ghi nguyên tử - không bị ngắt quãng
- Trả về giá trị vừa ghi (khác với
Atomics.exchange()trả về giá trị cũ) - Dùng để khởi tạo hoặc cập nhật giá trị trong bộ nhớ chia sẻ
- Phần của bộ công cụ đồng bộ hóa mức thấp (low-level synchronization primitives)