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

问题描述 投票:0回答:1

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

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

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

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

javascript vue.js go webpack webassembly
1个回答
0
投票

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

这仅在启用SharedArrayBuffers并实现WebAssembly线程建议的浏览器中起作用。

© www.soinside.com 2019 - 2024. All rights reserved.