nodejs之多进程

本文探讨了Node.js的单线程特性及其在CPU密集型任务中的局限性,介绍了如何利用`child_process`模块创建多进程以解决这一问题。通过实例展示了如何建立和管理子进程,以及使用Cluster模块实现简单的主从模式,提高应用的稳定性和效率。总结指出,多进程分工合作如同团队协作,能显著提升整体性能。
摘要由CSDN通过智能技术生成

最近感觉压力有点大,来看看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是被创建的子进程。意思很明显,子进程监听父进程发来的消息,同时,它也主动发消息给父进程。至于父进程的话,也是同一意图。猜猜以上会输出什么࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值