`title: SharedArrayBuffer 与并发数据处理``categories: Web 开发/前端/数据管理``keywords: SharedArrayBuffer,Atomics,Worker,并发,性能``description: 使用 SharedArrayBuffer 与 Atomics 在前端实现多线程并发数据处理,并在处理后将结果与元信息持久化管理。`基本并发模型function startWorker() {
const sab = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 1024);
const view = new Int32Array(sab);
const w = new Worker('/worker.js');
w.postMessage({ sab });
Atomics.store(view, 0, 1);
Atomics.notify(view, 0, 1);
}
Worker 侧self.onmessage = e => {
const view = new Int32Array(e.data.sab);
const v = Atomics.load(view, 0);
Atomics.store(view, 1, v + 1);
Atomics.notify(view, 1, 1);
};

发表评论 取消回复