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

    区别:进程是操作系统资源分配的基本单位,而线程是进程调度和执行的基本单位

    对操作系统来说,一个任务就是一个进程,比如打开一个浏览器就是启动一个浏览器进程,打开 一个qq就启动了一个qq进程,打开一个word就启动一个word进程。
    就word进程来说,在word里面可以同时进行打字、拼写检查、打印等事情。在一个进程内部要同时干多件事情,就需要运行多个子任务,我们把进程内的这些子任务成为线程。

    开销:每个进程都有独立的代码和数据空间(程序上下文),进程之间的切换会有较大的开销;
    线程,比如QQ里面的多个聊天窗口,它们是同一类线程,共享代码和数据空间,每个线程都有自己的独立的运行栈和程序计数器,
    线程之间的切换开销小。
    内存分配:系统在运行的时候会为每个进程分配不同的内存空间;而线程,除了CPU外,系统不会为线程分配内存
    (线程所使用的的资源来自其所属进程的资源),线程组之间只能共享资源。
    包含关系:由于每个进程至少要干一件事,所以一个进程至少有一个线程。线程是进程的一部分。

    参考:https://blog.csdn.net/kuangsonghan/article/details/80674777
    https://www.liaoxuefeng.com/wiki/897692888725344/923056118147584

  • 相关阅读:
    配置rc.local开机自启动文件的疑问
    linux下使用shell查看apache IP访问量
    linux 查看剩余内存数
    linux ps 命令
    移动端资料大全
    git命令大全
    redis 应用场景
    TP框架中的多种方法代码(C,G,L,T,I,N,D,M,A,R,B,U,W,S,F,E)
    在linux上安装svn
    mysql 分表的实现方式
  • 原文地址:https://www.cnblogs.com/lhh666/p/11912885.html
Copyright © 2011-2022 走看看