09第09章 Systm V进程间通信.pptVIP

  • 1
  • 0
  • 约1.96千字
  • 约 31页
  • 2018-06-19 发布于广东
  • 举报
09第09章 Systm V进程间通信.ppt

* * 控制信号量集合、信号量 * * * * 信号量操作 * * 使用信号量实现生产消费问题 生产消费问题是一个经典的数学问题,要求生产者-消费者在固定的仓库空间条件下,生产者每生产一个产品将占用一个仓库空间,生产者生产的产品库存不能越过仓库的存储量,消费者每消费一个产品将增加一个仓库空间,消费者在仓库产品为0时不能再消费。 本例中采用信号量来解决这个问题,为了便于理解,本例中使用了两个信号量,一个用来管理消费者(以下为sem_produce),一个用来管理生产者(以下为sem_custom),即sem_produce表示当前仓库可用空间的数量,sem_custom用来表示当前仓库中产品的数量。 对于生产者来说,其需要申请的资源为仓库中的剩余空间,因此,生产者在生产一个产品前,申请sem_produce信号量,当此信号量的值大于0,即有可用空间,将生产产品,并将sem_produce的值减去1(因为占用了一个空间);同时,当其生产一个产品后,当前仓库的产品数量增加1,需要将sem_custom信号量自动加1。 对于消费者来说,其需要申请的资源为仓库中的产品,因此,消费者在消费一个产品前,将申请sem_custom信号量,当此信号量的值大于0时,即有可用产品,将消费一个产品,并将sem_custom信号量的值减去(因为消费了一个产品),同时,当消费一个产品,当前仓库的剩余空间增

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档