Вы можете создать экземпляр совместно используемой памяти WebAssembly через JavaScript API:
const memory = new WebAssembly.Memory({
initial: 80,
maximum: 80,
shared: true
});
Затем вы можете отправить этот экземпляр памяти веб-работнику через postMessage
:
const worker = new Worker("worker.js");
worker.postMessage({ memory });
Файл worker.js
может затем создать модуль WebAssembly с использованием этого экземпляра совместно используемой памяти, что позволяет использовать его совместно с экземпляром модуля в разных потоках.
Более подробный пример см. В этом сообщении в блоге:
Более быстрые фракталы с многопоточной веб-сборкой