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

    1.在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵”的多任务工作方式。
    2.而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间

    3.根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的
    1)速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
    2)资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
    3)同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。

    多线程共享地址空间

  • 相关阅读:
    快手视频下载脚本
    ffmpeg 加载双语字幕
    GNU Wget 1.19.1 static built on mingw32
    Struts配置应用2
    Struts配置应用1
    spring-IOC控制反转
    spring-纯pojo切面
    spring面向切面编程的方式实现
    spring-CGLib动态代理
    spring-JDK_AOP动态代理
  • 原文地址:https://www.cnblogs.com/taoshihan/p/11279919.html
Copyright © 2011-2022 走看看