4-9-进程同步与通信.pptVIP

  • 23
  • 0
  • 约9.78千字
  • 约 59页
  • 2017-03-14 发布于上海
  • 举报
经典的生产者─消费者问题 消费者 生产者 同步问题: P进程不能往“满”的缓冲区中放产品 设置信号量为S1 Q进程不能从“空”的缓冲区中取产品 设置信号量S2 S1初值为1,S2初值为0 P: Q: while (true) { while (true) { 生产一个产品; P(s2); P(s1) ; 从缓冲区取产品; 送产品到缓冲区; V(s1); V(s2); 消费产品; }; }; 经典的生产者─消费者问题 多个缓冲区的生产者/消费者问题 k k 多个缓冲区的生产者/消费者问题 P: i = 0; while (true) { 生产产品; P(S1); 往Buffer [i]放产品; V(S2); i = (i+1) % k; }; Q: j = 0; while (true) { P(S2); 从Buffer[j]取产品; V(S1); 消费产品; j = (j+1) % k; }; 正确? 信号量初值? Q1,Q2

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档