0%
进程和线程
进程:
- 操作系统对正在运行的程序的一种抽象,程序是指令、数据及其组织形式的描述,进程是程序的实体。
- 指在系统中正在运行的一个应用程序;程序一旦运行就是进程。
- 进程是操作系统资源分配的最小单位。
线程:
- 是操作系统能够进行运算调度的最小单位。
- 包含在进程之中,是进程中的实际运作单位。
- 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
- 系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。
一个程序至少有一个进程,一个进程至少有一个线程。
进程与线程区别:
- 资源拥有:进程是cpu资源分配的最小单位,线程不拥有资源,线程可以访问隶属于进程的资源,是CPU调度的最小单位。
- 调度:线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程中的线程切换到另一个进程中的线程时,会引起进程切换。
- 系统开销:进程在创建、切换和销毁时开销比较大,而线程比较小。进程创建的时候需要分配系统资源,而销毁的的时候需要释放系统资源。线程切换时只需保存和设置少量寄存器内容,开销很小。
- 通信:线程间可以通过直接读写同一进程中的数据进行通信,但是进程通信需要借助 IPC。
- 一个进程崩溃,不会对其他进程产生影响;而一个线程崩溃,会让同一进程内的其他线程也死掉。
参考资料
CS-Notes