博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单进程 vs 多进程
阅读量:2340 次
发布时间:2019-05-10

本文共 855 字,大约阅读时间需要 2 分钟。

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以后也不会有单进程了

转载地址:http://oezvb.baihongyu.com/

你可能感兴趣的文章
线性表之顺序队列(循环队列)(C语言实现)
查看>>
机器学习之神经网络
查看>>
早期深度神经网络的问题
查看>>
神经网络之代价函数的选择
查看>>
神经网络之softmax神经元
查看>>
MySQL下载安装、配置与使用(win7x64)
查看>>
单点登录系统记录
查看>>
activiti工作流引擎记录
查看>>
disconf配置中心的使用记录
查看>>
mysql索引与全表扫描
查看>>
java虚拟机内存管理
查看>>
破解visio2013记录
查看>>
嵌入式数据库h2
查看>>
CommandLineRunner
查看>>
spingcloud总结
查看>>
springcloud首个项目遇到的坑
查看>>
spring-oauth2总结
查看>>
SpringCloud声明式服务调用Feign
查看>>
微服务监控模块springboot Admin
查看>>
安全模块springboot security
查看>>