一个经典的JS事件监听触发,进程通信例子

dhso
2018/02/07 15:32
统计中

master.js

var childprocess = require('child_process');
var worker = childprocess.fork('./worker.js');

console.log('pid in master:', process.pid);

//监听事件
worker.on('message', function(msg) {
  console.log('1:', msg);
})
process.on('message', function(msg) {
  console.log('2:', msg);
})

worker.send('---');

//触发事件 message
process.emit('message', '------');

worker.js

console.log('pid in worker:', process.pid);

process.on('message', function(msg) {
  console.log('3:', msg);
});

process.send('===');
process.emit('message', '======');

result:

$ node master.js

pid in master: 22229      // 主进程创建后打印其 pid
2: ------                 // 主进程收到给自己发的消息
pid in worker: 22230      // 子进程创建后打印其 pid
3: ======                 // 子进程收到给自己发的消息 
1: ===                    // 主进程收到来自子进程的消息
3: ---                    // 子进程收到来自主进程的消息

本文为 dhso 原创

发布在 http://blog.minws.com/yi-ge-jing-dian-de-jsshi-jian-jian-ting-hong-fa-jin-cheng-tong-xin-li-zi/

如有转载,请标明来源!

作者信息
姓名:dhso
热评文章
最新评论
文章概览