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

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

2018-02-07 / 0 评论 / 115 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年10月27日,已超过905天没有更新,若内容或图片失效,请留言反馈。

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: ---                    // 子进程收到来自主进程的消息

0

评论 (0)

取消