07进程管理五经典进程同步问题.pptVIP

  • 23
  • 0
  • 约7.78千字
  • 约 44页
  • 2017-08-14 发布于安徽
  • 举报
* producer: begin repeat produce an item in nextp; Swait(empty,mutex); buffer(in):=nextp; in:=(in+1)mod n; Ssignal(mutex,full); until false; end consumer: begin repeat Swait(full,mutex); Nextc:=buffer(out); Out:=(out+1) mod n; Ssignal(mutex,empty); consumer the item in nextc; until false; end * 2. 一般“信号量集” 一次需要N个某类临界资源时,就要进行N次wait操作--低效又可能死锁 基本思想:在AND型信号量集的基础上进行扩充:进程对信号量Si的测试值为ti(用于信号量的判断,即当Si= ti时,表示可用资源数量大于ti,才分配资源,否则便不予分配),占用值为di(用于信号量的增减,即 分配资源时Si = Si – di 释放资源时Si = Si + di) Swait(S1, t1, d1; ...; Sn, tn, dn); Ssignal(S1, d1; ...; Sn, dn); 一般信号量集用于同时需要多种资源、每种占用的数目不同、且可分配的资源还存在一个临界值

文档评论(0)

1亿VIP精品文档

相关文档