管程
管程是进程同步的工具
管程由共享资源以及一组函数组成,这组函数实现了对共享资源的各种操作
管程组成部分
- 管程有一个名称
- 管程有私有的共享数据结构
- 管程有对共享数据进程操作的函数
- 管程有共享数据进行初始化的语句
管程出现的由来
- 管程出现前,是通过信号量的思想处理进程同步问题
- 信号量思想在编程时难度大,易出错
- 将信号量的思想封装下,有了管程
管程机制
- 进入管程的进程可能由于某种条件不满足而阻塞
- 阻塞的进程会进入条件队列
- 因不同条件阻塞,会进入不同条件队列
- 进程进入条件队列后,会释放管程和cpu资源
- 进程被唤醒后会进入就绪队列