启蒙篇
线程是比进程更小的、能独立运行的基本单位
引入
- 进程的引入是为了使多个程序并发执行
- 线程的引入是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性
基础篇
1.线程&进程
- 调度:在引入了线程的操作系统中,将线程作为调度和分派的基本单位
- 并发性:引入了线程的操作系统中,不仅进程可以并发执行,同一个进程中的多个线程之间亦可并发执行
- 拥有资源:一般而言线程自己不拥有资源,但可以访问其隶属进程的资源
- 系统开销:进程切换时仅仅需要保存、设置少量寄存器内容,不涉及存储器管理方面的操作,故开销很低
2.线程的状态
状态参数
- 寄存器状态:包括程序计数器PC和堆栈指针中的内容
- 堆栈:堆栈中存有局部变量和返回地址
- 线程运行状态:描述县城正处于何种运行状态
- 优先级:
- 线程专有存储器:保存线程自己的局部变量拷贝
- 信号屏蔽:对某些信号加以屏蔽
运行状态
- 执行态
- 就绪态
- 阻塞态
3.线程中的同步与通信
Ⅰ.互斥锁
用以实现线程之间对资源护持访问的机制
- 两种状态:
- 开锁