. net中带有暂停消费者的操作队列
本文关键字:操作 队列 消费者 暂停 net | 更新日期: 2023-09-27 18:18:57
我需要在c# 4.0中实现一个逻辑,其中一个操作可以立即执行,也可以放在队列中等待某个网络服务可用。
实现这种操作的最佳方法是什么?它是否具有线程安全的Function队列和仅在资源可用时才使用这些操作的轮询消费者?
是否有实现类似功能的库或示例?
我们可以采用生产者-消费者的方法,但需要大量的实现。此外,. net Concurrent
命名空间也有BlockingCollection<T>
或ConcurrentQueue<T>
。然而,挑战似乎不是实现生产者消费者模式,而是在Queue
中等待,直到某些资源可用(在您的示例中是网络服务)。这更像是一种不确定的情况,在这种情况下,您不知道资源何时准备好使用。这个挑战可以通过具有持久性的队列来解决。例如:Microsoft's Message Queue (MSMQ)
与私有/公共队列