【发布时间】:2011-01-06 16:02:27
【问题描述】:
我有典型的生产者和消费者线程问题。然而,唯一的区别是生产者可以建立一个包含 5 个项目的缓冲区,之后它必须等到一些项目被消耗掉。
在 c# 中实现这一点的最佳解决方案是什么。 目前我已经使用信号量实现了它,但是生产者似乎非常迅速地建立了超过 100 个项目的缓冲区。我没有语法来处理将缓冲区限制为 5 个项目。我正在考虑使用一个静态整数 - 让生产者增加它 - 当它达到 5 时,生产者进入睡眠状态。让消费者减少它并唤醒生产者。
【问题讨论】:
标签: c# multithreading