【发布时间】:2020-08-13 19:33:00
【问题描述】:
我们可以通过WebAssembly.Memory 将 WebAssembly 内存设置为共享内存:
wasmMemory = new WebAssembly.Memory({
"initial": NUMBER,
"maximum": NUMBER,
"shared": true
});
WebAssembly.Memory.buffer 只有一个 getter,所以我不能执行以下操作:
buff = new SharedArrayBuffer(NUMBER);
wasmMemory.buffer = buff;
第一个问题:
有什么理由这样设计吗?我检查了SPEC,但没有找到答案。
也许 normal SharedArrayBuffer 和 wasm 的 SharedArrayBuffer 的底层实现虽然它们的 instanceofs 相同?
或者这个设计还有其他的结果吗?
第二个问题:
有没有什么神奇的方法可以将存在的SharedArrayBuffer 放入WebAssembly.Memory 中?
我想这样做是因为我有一个从原始 SharedArrayBuffer 扩展而来的新类,并且我也想在 wasm 中使用它。
【问题讨论】:
标签: javascript webassembly sharedarraybuffer