【Node.js】node 项目代码如何开启多线程,非常好用?
Node.js 是单线程的,但通过 worker_threads
模块,你可以在 Node.js 应用中创建多线程。这不是 Node.js 的默认行为,而是通过第三方模块实现的。
以下是一个使用 worker_threads
的简单例子:
主线程文件 main.js
:
const { Worker, isMainThread, parentPort, workerData } = require('worker_threads');
if (isMainThread) {
const worker = new Worker('./worker.js', { workerData: { num: 5 } });
worker.on('message', (msg) => {
console.log('来自工作线程的消息:', msg);
});
}
工作线程文件 worker.js
:
const { parentPort, workerData } = require('worker_threads');
parentPort.postMessage(workerData.num * 10);
在这个例子中,main.js
是主线程,它创建了一个新的工作线程 worker.js
。主线程发送数据到工作线程,工作线程处理完后返回结果给主线程。
要使用 worker_threads
,你需要在 Node.js 的版本支持(Node.js 10.5.0+)的情况下,通过 npm 安装 worker_threads
:
npm install worker_threads
然后运行主线程文件:
node main.js
确保你的 Node.js 版本支持 worker_threads
模块。
评论已关闭