两个Web Worker中具有相同的WebAssembly实例

时间:2020-02-10 21:00:38

标签: javascript vue.js go webpack webassembly

我使用从golang(版本1.3.5)编译的wasm文件,我有某些使用goroutines的函数,但是不支持它们,当我调用它们时,它们在当前线程中运行,并且减慢了我的工作人员的速度

因此,我想在当前的工作程序中创建一个工作程序,并使其调用有问题的函数,以便它是多线程的。

我正在使用webpack worker-loader来创建当前的web worker。

是否可以在两个Web Worker之间共享WebAssembly实例?

1 个答案:

答案 0 :(得分:1)

您目前无法在工作人员之间共享WebAssembly实例。但是,您可以在两个worker上实例化相同的模块,并通过SharedArrayBuffer共享内存。确实,这就是emscripten实现pthreads的方式。

这仅在启用SharedArrayBuffers并实现WebAssembly线程建议的浏览器上有效。