我使用从golang(版本1.3.5)编译的wasm文件,我有某些使用goroutines的函数,但是不支持它们,当我调用它们时,它们在当前线程中运行,并且大大降低了我的工作人员的速度。
因此,我想在当前的工作程序中创建一个工作程序,并使其调用有问题的函数,以便它是多线程的。
我正在使用webpack worker-loader来创建当前的web worker。
是否可以在两个Web Worker之间共享WebAssembly实例?
您目前无法在工作人员之间共享WebAssembly实例。但是,您可以在两个worker上实例化相同的模块,并通过SharedArrayBuffer共享内存。实际上,这就是emscripten如何实现pthreads。
这仅在启用SharedArrayBuffers并实现WebAssembly线程建议的浏览器中起作用。