为什么要引入管程?
信号量机制存在的问题:编写程序困难、易出错
如写错了P操作的顺序,会发生死锁
管程的定义和基本特征
管程的定义
管程有点类似与面向对象中的类
管程的基本特征
用管程解决生产者消费者问题
管程定义
由编译器负责实现各进程互斥地进入管程中的过程
当管程中有进程时,编译器会阻止其他进程通过insert进入管程
管程中可以设置条件变量和等待/唤醒等操作,以解决同步问题
如以下伪代码中的full与empty变量
生产者进程
消费者进程
总结