首页 > 代码库 > nodjs 多线程 之主从模式

nodjs 多线程 之主从模式

##work.js

let http = require(‘http‘);

let port = Math.round((1+Math.random())*1000);
http.createServer(function (req, res) {
console.log(process.pid);
res.writeHead(200,{‘Content-Type‘:‘text/plain‘});
res.end(‘hello world‘);
}).listen(port,function () {
console.log(‘---- server start port :‘+port);
});

## master.js
let fork = require(‘child_process‘).fork;

let cpus = require(‘os‘).cpus;
console.log(cpus.length);
//根据当前机器上的cpu数量复制出Node进程数
for(let i=0;i<2;i++){
fork(‘./work.js‘);
}

1、先启动work.js,再启动master.js。可以看到启动work.js的时候监听了一个端口,再启动master.js的时候又开启线程监听了其他两个端口。
可以通过检测当前系统的cpu数来启动一定的线程服务。

nodjs 多线程 之主从模式