LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 798|回复: 6

信號量問題?

[复制链接]
发表于 2007-5-27 14:28:09 | 显示全部楼层 |阅读模式
一个仓库可以存放K件物品。生产者每生产一件产品,将产品放入仓库,仓库满了就停止生产。消费者每次从仓库中去一件物品,然后进行消费,仓库空时就停止消费。

怎樣實現?
发表于 2007-5-27 19:13:52 | 显示全部楼层
你用两个信号量,一个代表剩余库容量,一个代表可用库存
回复 支持 反对

使用道具 举报

发表于 2007-5-27 21:54:35 | 显示全部楼层
这里有一个例子可以参考。
回复 支持 反对

使用道具 举报

发表于 2007-5-27 21:54:45 | 显示全部楼层
这里有一个例子可以参考。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 07:08:40 | 显示全部楼层
sem_init()
semctl()

前者...較簡單..為什麼我見大部分例子都係用後者
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 07:15:08 | 显示全部楼层
Post by angus203
一个仓库可以存放K件物品。生产者每生产一件产品,将产品放入仓库,仓库满了就停止生产。消费者每次从仓库中去一件物品,然后进行消费,仓库空时就停止消费。

怎樣實現?


最理想的方法..是否..不需要 等仓库满..消费者就可以取一件物品??
回复 支持 反对

使用道具 举报

发表于 2007-5-29 15:05:56 | 显示全部楼层
Post by angus203
最理想的方法..是否..不需要 等仓库满..消费者就可以取一件物品??

实际上就是这么样实现的。这也是为什么用两个信号量的缘故,其实这个问题是经典问题,在任何一本操作系统的书中都会讲到
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表