zoukankan      html  css  js  c++  java
  • 多进程和多线程

    一、多进程

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

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

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

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

    二、多线程

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

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

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

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

    作者:张瑜
    出处:http://www.cnblogs.com/work115/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
  • 相关阅读:
    Maven常用命令
    JUnit注解与hamcrest
    Maven发布工程到私服和JUnit的安装使用
    -Java- Maven命令
    -Java基础-构造器
    Maven命令与pom文件常量
    Maven聚合模块与继承和Maven的生命周期
    BigDecimal
    垃圾000000000000000000000写了很多,保存不上,发送失败了。。。。。A
    自己把源码生成jar,在android项目中调用
  • 原文地址:https://www.cnblogs.com/work115/p/5590444.html
Copyright © 2011-2022 走看看