• 多进程和多线程


    一、多进程

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

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

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

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

    二、多线程

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

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

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

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

    作者:张瑜
    出处:http://www.cnblogs.com/work115/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
  • 相关阅读:
    核心思想:台积电目前的硬体核心技术/制造人力估计不到1,000人
    忽然懂了:云就是互联网
    Qt https 用户认证authenticationRequired()
    TDD和BDD
    MEF实现设计上的“松耦合”
    跨域调用webapi
    复杂度
    react
    Angularjs里面跨作用域
    Spring.NET程序
  • 原文地址:https://www.cnblogs.com/work115/p/5590444.html
Copyright © 2020-2023  润新知