单进程 vs 多进程

pros:

1. 初期实现起来比较简单快速,省去了进程间通信的工作

2. 单一性使得部署和运营比较简单

3. 内存占有少, 现在内存都很便宜,这个优势不明显

4. 进程内部通信效率比IPC/socket等要高效


cons:

1. 中后期随着业务逻辑的复杂化和需求的增加,这个单进程会变得臃肿, 难以维护。 一个任务分解成多个进程会使单个进程的逻辑简单,而不容易出错

2. 同进程内模块间是强依赖关系,需要在一起编译相互的影响也比较大。 这相对于多进程间通信来说, 耦合度较大, 不利于多团队并行开发。 多进程更便于多语言的协作开发。

3. 任何模块的崩溃都将导致整个进程的失效,多进程模式更加稳定健壮,业务处理程序隔离运行, 一个Crash不会影响其他

4. 性能问题: 如果不支持进程间cascading的话,单进程的capacity是受限的, 这个性能瓶颈对于支持群组类服务的尤其需要考虑。多进程部署极其灵活,可以扩充机器数量来提高系统处理性能,还可以从硬件上避免单点故障。

5. 单进程中多线程难调试

 

如果需要高性能处理,只要根据实际情况设计合理,多进程和多线程都是可行的。

如何选择取决于业务要求, 在高端应用中稳定是关键,效率和功能只能排第二, 如金融系统。即使是重负载程序,也分很多种:计算密集型、I/O密集型、通信密集度?

 

为了应对浏览器经常出现崩溃的现象,现在很多浏览器厂商都采用了多进程标签浏览的概念,其中包括主的IE8、Chrome、 Firefox浏览器,而众多基于WebKit的浏览器在苹果发布WebKit2内核以后已经将可以后采用多进程标签浏览这个功能。

搜狗浏览器是多进程浏览器,

在浏览器中添加多进程浏览之后,即使是浏览器其中的一个进程出现了崩溃现象,其他的进程也不会受到影响。例如一个网站中有漏洞或包含恶意代码、木马等网络攻击,有可能摧毁当前运行在这个网站上的标签,但是却不会影响其他的进程或整个浏览器。多进程是浏览器发展趋势,微软windows系统自带IE以后也不会有单进程了
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值