面试冲刺:40---进程和线程的区别是什么?

一、根本区别

  • 进程是操作系统资源分配的基本单位
  • 线程是任务调度和执行的基本单位

面试冲刺:40---进程和线程的区别是什么?

二、地址空间

  • 进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段
  • 线程没有独立的地址空间,同一进程的线程共享本进程的地址空间

三、资源

  • 进程之间的资源是独立的
  • 同一进程内的线程共享本进程的资源

面试冲刺:40---进程和线程的区别是什么?

三、执行过程

  • 每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口
  • 但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制

面试冲刺:40---进程和线程的区别是什么?

四、调度

  • 线程是处理机调度的基本单位,但是进程不是
  • 由于程序执行的过程其实是执行具体的线程,那么处理机处理的也是程序相应的线程,所以处理机调度的基本单位是线程

面试冲刺:40---进程和线程的区别是什么?

五、开销

  • 进程执行开销大,线程执行开销小