Joh*_*oer 0 c# multithreading
可能重复: 在.NET中创建阻塞队列<T>?
我有典型的生产者和消费者线程问题.但是唯一的区别是允许生产者建立一个包含5个项目的缓冲区,之后它必须等到一些项目被消耗掉.
在c#中实现这一点的最佳解决方案是什么.目前我使用信号量实现它,但生产者似乎非常迅速地建立了超过100个项目的缓冲区.我没有语法来处理将缓冲区限制为5个项目.我正在考虑使用一个静态整数 - 让生产者增加它 - 当它达到5时,生产者进入睡眠状态.让消费者减少它并唤醒生产者.
Ale*_*ler 5
为什么不使用有界队列(大小为5)并且如果队列已满,则让生产者阻塞?
归档时间:
16 年,4 月 前
查看次数:
120 次
最近记录: