`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); };

发表评论 取消回复