如何实现SharedArrayBuffer和Atomics的并行性?

Cho*_*ang 5 javascript parallel-processing multithreading shared-memory ecmascript-2017

ECMA-2017(ES8)刚刚在一个月前完成,它引入了SharedArrayBufferAtomics.此处链接表明它们已在某些浏览器中得到支持.

我们知道,它们旨在允许跨线程共享数据.我想知道在浏览器和Node中如何实现这种并行性?我们应该分别使用Web Workers和'cluster'包吗?

tri*_*cot 4

事实上,对于浏览器来说SharedArrayBuffers,并且旨在与 WebWorkers 一起Atomics使用,这是让代码在浏览器上下文中的并发线程中运行的自然方式。

对于 Node.js,使用 cluster 包生成的线程确实是共享数据的候选者,但在撰写本文时, Node.js 中还没有实现SharedArrayBuffers,所以这是理论上的。您可能想浏览一些有关它的讨论:

已经有ems包允许在不同线程和进程之间共享数据。

有关的: