最近感觉压力有点大,来看看nodejs的书,好让自己轻松一下。
正如标题所言,这篇文章写的是关于nodejs进程方面的知识。众所周知,nodejs是单线程的额,在编程方面有着得天独厚的先天优势,可以让我们省去了并发编程所带来的种种苦恼,基于事件驱动的它,面对着io高并发,可以做得很好,但是,有一点是出于劣势的--------面对cpu密集型的情况,可能会导致阻塞,还会浪费空余的cpu。是不是感到很可惜,美中不足啊。不怕不怕啦,多进程来啦!!!!
子进程间通讯
模块“child_process”可以给我们带来多线程。废话少说,代码最实际
//parent.js
var cp = require('child_process');
var n = cp.fork('./sub.js');
n.on('message', function(data) {
console.log(data.foo);
});
n.send({hello:'world'});
//sub.js
process.on('message', function(m) {
console.log(m.hello);
});
process.send({foo:'bar'});
有两个文件,parent.js是父进程,sub.js是被创建的子进程。意思很明显,子进程监听父进程发来的消息,同时,它也主动发消息给父进程。至于父进程的话,也是同一意图。猜猜以上会输出什么