...A lock is kept on the main thread and any requests to read/write from workers or the main thread itself are queued pending release of the lock by the existing holder. Reads are executed together, writes are executed sequentially, and prevent any reads from starting. If you are using IPFS in a single process or with the node cluster module this should be completely transparent. If you are using Web Workers there is no way to globally listen to messages sent between workers and the main thread.