【Node.js】node 项目代码如何开启多线程,非常好用?
    		       		warning:
    		            这篇文章距离上次修改已过432天,其中的内容可能已经有所变动。
    		        
        		                
                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 模块。
评论已关闭