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

标签 javascript vue.js go webpack webassembly

我使用从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/

相关文章:

javascript - webpack-dev-server 热重载不起作用

Golang - 如何获得 mux 的授权?

mysql - 无法连接到 DB : database is closed

当向 go 例程之外的 channel 发送值时,go 例程会死锁

javascript - 使用 Javascript SDK 在 Facebook 上上传 ByteArray 图像

javascript - JS 复杂的范围按摩

javascript - redirect_to 来自 jquery in rails 4

css - 覆盖 Nuxt 组件中的 Bulma 变量

apache - 在 Apache 服务器中使用 vue js SPA 刷新页面时如何修复 "Not found "?

javascript - jQuery 不读取点击