操作系统生产跟消费者问题.docVIP

  • 42
  • 0
  • 约5.18千字
  • 约 9页
  • 2018-11-18 发布于湖北
  • 举报
操作系统生产跟消费者问题

生产者和消费者问题 1、有n个缓冲区,一个生产者和一个消费者情况: main () { int S=1; //可否进入缓冲区 int full=0; //产品数目 int empty=n //可用缓冲区数 int buffer[n]; int in=0; //指向下一个可放产品的缓冲区 int out=0; //指向下一个可取产品的缓冲区 producer(); consumer(); } producer() { While(生产未结束) { produce a product P(empty); P(S); Buffer[in]= product; in=(in+1)mod n; V(S); V(full); } } consumer() { While(消费未结束) { P(full); P(S); Take a product from Buffer[out] Out=(out+1)mod n; V(S); V(empty); } Consume the product } 2、 m个生产者和k个消费者共享n个缓冲区的情况: main() { int B[n]; //缓冲区 int p=r=0;

文档评论(0)

1亿VIP精品文档

相关文档