在.NET中暂停使用者的操作队列

时间:2013-06-19 09:36:48

标签: c# queue

我需要在C#4.0中实现一个逻辑,在该逻辑中,操作可以立即执行,也可以放入等待特定网络服务可用的队列中。

实施此类操作的最佳方法是什么?它是否具有Function的线程安全队列和仅在资源可用时才使用这些操作的轮询使用者?

是否有用于实现类似功能的库或示例?

1 个答案:

答案 0 :(得分:1)

我们可以通过大量的实施来实现生产者消费者的方法。此外,.NET Concurrent命名空间也有BlockingCollection<T>ConcurrentQueue<T>。但是,似乎挑战不是实现生产者消费者模式,而是等待Queue直到某些资源可用(在您的情况下是网络服务)。这更像是非确定性情况,您不知道资源何时可以使用。可以通过具有持久性的队列来解决此挑战。例如:Microsoft's Message Queue (MSMQ)有私人/公共队列。