前面我们介绍了进程的相关操作,今天我开始给大家介绍线程【包括线程同步,进程同步都会在这一章介绍(后面介绍)】。
一.线程概念
什么是线程:线程是操作系统调度的最小单位【书上】,在linux环境中线程的本质是一种轻量级的进程,LWP【light weight process】,因此在linux中进程有PCB,线程也有PCB,但是线程没有独立的地址空间。线程【可以看成合租】,进程【可以看成独居】【如图】
linux下:
- 线程:最小的执行单位
- 进程:最小分配资源单位,可以看成只有一个线程的进程。
注意:linux下的线程和windows下的线程底层实现几乎是完全不相同的。
思考1:为什么说进程的开销比线程小呢?
其实在 linux环境下 进程和线程的内存开销都是差不多的,为什么呢? 前面说了 线程虽然是 轻量级的进程,但是并没有说轻量多少,因为进程中有 读共享写复制的 机制&#