Node.js Worker Threads允许在独立 JavaScript 执行线程中运行任务,主要适用于可分离的 CPU 密集型计算。
与异步 I/O 的分工
Node.js 的内置异步 I/O 已有相应运行时支持,额外创建 Worker 不一定提高网络或文件等待的效率。JSON 大计算、解析和数值运算等可评估卸载,但要计算任务传输及序列化成本。
资源与生命周期
Worker 可以传递消息,也可在受控条件下共享内存;共享内存需要同步,不能假设独立线程消除了竞争。实践中可复用有界 Worker 池,并设置排队、超时、失败回传和退出清理。
每个任务都新建线程可能使启动开销大于计算收益。