您的当前位置:首页正文

进程与线程

2024-11-07 来源:个人技术集锦

进程

进程是是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。

进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对PCB 的操作。

线程

线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。线程也被称为轻量级进程。一个进程中可以有多个线程,它们共享进程资源。

谷歌和word是两个进程,谷歌进程里面有很多线程,例如 HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起 HTTP 请求时,浏览器还可以响应用户的其它事件。

 

区别

1、进程是分配资源的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。

2、线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换;但是从一个进程中的线程切换到另一个进程中的线程时,会引起进程切换。

3、由于创建和撤销进程时,系统都需要分配资源或资源回收,如内存空间、I/O设备等。所付出的开销远大于线程创建和撤销时的开销。同样的,进程切换时,涉及到当前执行进程CPU环境的保存及调度进程CPU环境的设置,而同一个进程的线程间的切换只需保存和设置少量寄存器内容,所需开销很小。

4、同一进程的线程间可以直接读写进程的数据进行通信,但是进程通信需要借助IPC(InterProcess Communication

注:IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。

 

显示全文