多进程和多线程

一、多进程

多进程方式是指,服务器在接收到一个客户端请求时,就由服务器主进程生成一个子进程出来和该客户端进行交互,直到连接断开,该子进程就结束了。

优点:设计和实现相对简单,各个子进程之间相互独立,处理客户端的请求彼此不会受到干扰,并且当一个子进程产生问题时,不容易将影响蔓延到其他进程中,这保证了提供服务的稳定性。

   当子进程退出时,其占用的资源会被操作系统回收,也不会留下任何垃圾。

缺点:操作系统生成一个子进程需要进行内存复制等操作,彼此进程内存独立,在资源和时间上会产生额外开销,因此如果web服务器接收大量并发请求,就会对系统资源造成压力,导致系统性能。

二、多线程

服务器每收到一个客户端时,会由一个服务器的主进程派生一个线程出来和该客户端交互。

优点:由于操作系统产生一个线程的开销远小于产生一个进程的开销,所以多线程在很大程度上减轻了web服务器对系统资源的要求。

   开发方面遵循一定的标准,这相对来说比较规范和有利于协作。

缺点:在线程管理方面有一定的不足,多个线程在同一个进程内,可以访问同样的内存空间,彼此之间互相影响;同时在开发过程中不可避免的要开发者自己进行内存管理,其增加了出错的风险。服务器系统需要长时间连续不断的运转,错误的逐渐积累可能对服务器产生重大影响。

 

作者:张瑜
出处:http://www.cnblogs.com/work115/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

 

posted @ 2016-06-16 11:29  残宠魔法袋  阅读(572)  评论(0编辑  收藏  举报