加载中...

worker_threads 是 Node.js 从 10.5 版本引入、12 版本稳定的内置模块,允许在同一进程内创建多个线程并行执行 JavaScript,每个 Worker 拥有独立的 V8 实例与事件循环。
主线程与 Worker 之间通过消息通道(postMessage/MessageChannel)传递数据,默认使用结构化克隆复制;若要真正共享内存,可使用 SharedArrayBuffer 配合 Atomics 做同步。ArrayBuffer 还可通过 transferList 零拷贝转移所有权。
Worker Threads 适合图像/视频处理、压缩加密、大 JSON 解析、机器学习推理等 CPU 密集任务,可避免阻塞主线程的事件循环。实践中常配合线程池库(如 piscina)复用 Worker 以摊薄创建开销。
与 cluster 模块的多进程模型相比,Worker 线程更轻量且可共享内存,适合计算并行;cluster 则用于多核负载均衡的网络服务。I/O 密集任务无需 Worker,交给事件循环即可。

登录 后参与讨论
暂无讨论,来发表第一条评论吧