(but I hope I missunderstood something there)
But I need many threads to access the same data, at the same time (readonly, so no racecondition).
(but I hope I missunderstood something there)
But I need many threads to access the same data, at the same time (readonly, so no racecondition).
You might be mixing ArrayBuffer (which is a transferrable object[0] and gets zero-copy moved) and SharedArrayBuffer.
From [1]:
> The structured clone algorithm accepts SharedArrayBuffer objects and typed arrays mapped onto SharedArrayBuffer objects. In both cases, the SharedArrayBuffer object is transmitted to the receiver resulting in a new, private SharedArrayBuffer object in the receiving agent (just as for ArrayBuffer). However, the shared data block referenced by the two SharedArrayBuffer objects is the same data block, and a side effect to the block in one agent will eventually become visible in the other agent.
[0] https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers...
[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
No. And I hope to be wrong.
I will give it another try then, but I was using SharedArrayBuffer and I was getting explicit errors about this limitation.
Caveat is you need these headers for security reasons (hence why the sandbox above has Express) or SharedArrayBuffer is not even defined (at least in Firefox):
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp