var cluster = require("cluster");
if(cluster.isMaster){
var worker = cluster.fork()
worker.on("message", function(msg){
console.log(msg);
});
}else{
console.log('aaaa');
}
为什么上面的代码第一次运行后会输出aaaa, 不是应该进入if 里面吗? 为什么进了if 又进else 帮忙解释一下node执行流程吧,谢谢!
10 回复
没有呀,你看下面:
if(cluster.isMaster){
console.log("master");
var worker = cluster.fork()
worker.on("message", function(msg){
console.log(msg);
});
}else{
console.log('aaaa');
}
像这段代码我在windows下命令行输入 node test.js(上述代码的文件名) 运行后输出的是:
F:\nodejs>node test.js
master
aaaa
不解。。。
因为
var worker = cluster.fork()
开启了新进程,你运行这个就知道了
var cluster = require("cluster");
console.log(cluster.isMaster);
if (cluster.isMaster) {
console.log("master");
var worker = cluster.fork()
worker.on("message", function (msg) {
console.log(msg);
});
} else {
console.log('aaaa');
}