进程与线程
进程与线程
进程
进程(process) 是更大的单位,进程间不共享内存
- 一个程序的运行实例叫作进程。
- 一些操作系统中该程序的运行实例也叫作任务(task)。
- 运行在主内存(RAM)中。
- 进程可看作内存中活动的主体,关机后消失。
- 多核系统下,多个进程可同时进行。
- 单核情况下,真实的多进程是不存在的。但可通过调度算法,让每个进程间隔着运行达到虚拟的多进程效果。
比如同时打开多个记事本,每个运行的记事本便是一个进程。
线程
线程(thread) 是更小的单位,进程中可包含多个线程,线程间共享内存。
- 线程是进程的子集。
- 可理解为轻量的进程。表现上像进程,但运行于进程内且与进程中其他线程共享内存资源。
- 通常一个进程中同时只一个线程某组指令在运行。但也可有多个线程同时运行其程序指令。
- 多核系统下,进程中多线程可实现真实的并行计算。
- 进程中所有线程共享内存及资源,这些资源即系统分配给该进程的。
- 线程间因为共享内存,所以数据互传变得简单。