进程和线程的区别?

参考:进程和线程的区别(超详细)

1、概念

  1. 进程:一个在内存中运行的应用程序
  2. 线程:进程中的一个执行任务(控制单元),负责当前进程中程序的执行
  3. 多进程:操作系统中同时运行的多个程序
  4. 多线程:在同一个进程中同时运行的多个任务

2、两者区别

  1. 根本区别:进程是操作系统资源分配的基本单位;线程是处理器任务调度和执行的基本单位
  2. 资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小
  3. 包含关系:若一个进程内有多个线程,则执行过程为多线程;线程为进程的一部分,所以线程也被称为轻权进程或者轻量级进程
  4. 内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的
  5. 影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响;但是一个线程崩溃,整个进程都会死掉
  6. 执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页