2022-07-25
Work Research
Preparing Data Transmission
- Inside Web Worker Thread
MutationTransfer.ts
, create atransferSync
layer. - Add a key
TransferrableKeys.synchronous
.
Transmitting Data
Whenever we need a synchronous operation,
- Allocate a SharedArrayBuffer inside
transferSync
. - Run
Atomic.wait()
at the main thread. - Run the calculation at the corresponding processor on the main thread.
- Pass the data into the received SharedArrayBuffer.
- Unfreeze the Web Worker thread with
Atomic.notify()
.