我已经分配了一门课程来为使用单个生产者,单个消费者和循环缓冲区的消费者/生产者问题实施解决方案。这应该用C语言编写。消费者/生产者任务的解决方案
不幸的是,我们没有提供任何学习资料,并且在某种程度上意味着在演讲者没有帮助的情况下实现这一目标。
要求是如下:
要求:你被要求以实现用于使用A单生产者,单个消费者,和圆形有界缓冲器消费者/生产者问题(即,包含一个固定大小的溶液,例如整数值)。生产者和消费者都生成/消费无限数量的项目(例如整数)。也就是说,它们可以在无限循环中执行,假设代码无限期地运行。你可以自由选择如何实现这种方法,但是,可能推荐使用信号量。一个成功的实现具有:
- 循环缓冲器,其大小是固定的和可配置的(例如,使用定义语句)
- 计数器保持跟踪已生产的物品的数量/到目前为止消耗(你忽略整数/长整数)
- 产生的每个项目的识别号码,例如其在生成项目序列中的索引
- 一个简单的可视化,演示了缓冲区中的项目数量如何演变为超时。这可以像每次打印多个星形一样简单,每个物品被生成/消耗,每个星形代表当前在缓冲区中的一个元素
- 正确同步可能存在的任何关键部分,并且只在严格需要的地方这样做
如果有人能帮助我如何处理这个要求,这将是非常感谢
由于太模糊或太宽泛,很可能会被封闭。查看http://meta.stackexchange.com/questions/10811/how-do-i-ask-and-answer-homework-questions,了解如何寻求帮助作业的建议,以建立一个通常有用的问题的方式一个答案。 –