实现方法
生产者——消费者问题<br>
信号量解决同步问题
根据资源同占信号量,并赋初值
wait(p)、signal(v)抢占信号量<br>
同步关系
只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待
只有缓冲区不空时,消费者才能从中取出产品,否则必须等待
同步信号量
empty<br>
表示缓冲区中空的缓冲单元数量,即还能放入缓冲区多少产品,该数量小于等于0,则生产者不能进行生产<br>
full<br>
表示缓冲区已有产品的数量,即还能取走缓冲区多少产品,该数量小于等于0,则消费者不能进行读取<br>
缓冲区是临界资源,每一刻只允许一个进程访问