我偶然发现了 NodeJS 中的工作线程,并开始研究较低级别的抽象,它们之间的相互通信和数据共享是如何工作的,尤其postMessage
是用于在线程之间发送消息数据的函数。
查看这行代码const { Worker, isMainThread, parentPort } = require('worker_threads');
,您会猜测它使用套接字来进行通信,因为正在使用关键字端口,但我在通过命令提示符搜索它们时发现没有打开的端口连接。
我想了解worker_thread机制使用什么通信协议?是 TCP 还是其他在线程之间共享数据和消息的机制?这是基于我想自己进行的一项研究,以了解在 worker_threads 之间传输大量数据的效率与使用内存共享/TCP 的子进程之间的 ICP 通信的效率。