进程同步与通信.pptxVIP

  • 0
  • 0
  • 约3.6千字
  • 约 23页
  • 2021-09-27 发布于河北
  • 举报
第九讲 进程同步与通信;4.2.5 进程同步与互斥举例 一、有限缓冲区问题 问题描述:设有n个缓冲区,一组生产者进程往缓冲区写数据,一组消费者进程从缓冲区取数据,写取都以一个缓冲区为单位。 说明: 将缓冲池看做是共享数据,对缓冲区的 操作必须是互斥操作。 如果n个缓冲区全满,生产者进程必须 等待。 如果缓冲区全空,消费者进程必须等待。; 有限缓冲区的生产者/消费者问题(生产者和消费者共享一个产品缓冲池)。;解:设置以下信号量 mutex,初值为1,控制互斥访问缓冲池。 full,初值为0,表示当前缓冲池中满缓冲区数,用于同步。 empty,初值为n,表示当前缓冲池中空缓冲区数,用于同步。 有限缓冲区生产者/消费者进程描述如下: type item= …; var buffer= …; full,empty,mutex:semaphor; nextp,nextc:item; begin full:=0; empty:=n; mutex:=1; ; P(empty); P(mutex); add nextp to buffer; V(mutex); V(full); until false; end;; … consume the item

文档评论(0)

1亿VIP精品文档

相关文档