线程是什么?进程是什么?二者有什么区别和联系?

一个程序至少有一个进程,一个进程至少有一个线程:

  • 进程:一个程序的一次运行,在执行过程中拥有独立的内存单元,而多个线程共享一块内存

  • 线程:线程是指进程内的一个执行单元。
    联系:线程是进程的基本组成单位

  • 区别:
    (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
    (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
    (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
    (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

  • 举例说明:操作系统有多个软件在运行(QQ、office、音乐等),这些都是一个个进程,而每个进程里又有好多线程(比如QQ,你可以同时聊天,发送文件等)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 线程是CPU独立运行和独立调度的基本单位(可以理解为一个进程中执行的代码片段),进程是资源分配的基本单位(进程是一...
    丶逐渐阅读 3,790评论 0 0
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 9,649评论 0 23
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,814评论 0 17
  • 班级情况: 校区:科学创想乐高机器人和平校区 时间:周三5:30-6:30 学员:杨春李,刘东宇 任教...
    Happy00阅读 3,957评论 0 0
  • 前言 最近在为一个新项目搭建项目框架。网络层在iOS项目中的地位不言而喻,一个不可或缺的部分,它负责api请求,上...
    潇潇潇潇潇潇潇阅读 9,993评论 2 21

友情链接更多精彩内容