我使用从golang(版本1.3.5)编译的wasm文件,我有某些使用goroutines的函数,但是它们不受支持,当我调用它们时,它们在当前线程中运行,并且降低了我的工作线程的速度相当大。
所以我想在当前的工作线程中创建一个工作线程,并让它调用有问题的函数,以便它是多线程的。
我正在使用 webpack worker-loader 来创建我当前的 Web Worker。
是否可以在两个 Web Worker 之间共享 WebAssembly 实例?
最佳答案
您当前无法在工作线程之间共享 WebAssembly 实例。但是,您可以在两个工作线程上实例化相同的模块,并通过 SharedArrayBuffer 共享内存。事实上,这就是 emscripten 实现 pthreads 的方式。
这仅适用于启用 SharedArrayBuffers 并实现 WebAssembly 线程提案的浏览器。
关于javascript - 在两个 Web Worker 中具有相同的 WebAssembly 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158338/