是否可以通过使用postMessage共享WebAssembly.memory在两个worker之间?就像SharedArrayBuffer一样?如果答案是肯定的,那么如何做到?
是否可以通过使用postMessage共享WebAssembly.memory在两个worker之间?就像SharedArrayBuffer一样?如果答案是肯定的,那么如何做到?
const memory = new WebAssembly.Memory({
initial: 80,
maximum: 80,
shared: true
});
您可以通过 postMessage
将此内存实例发送给 Web Worker:
const worker = new Worker("worker.js");
worker.postMessage({ memory });
文件worker.js
可以使用此共享内存实例创建WebAssembly模块,从而使其在不同线程的模块实例之间共享。
有关更完整的示例,请参阅此博客文章: