Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要在 C# 4.0 中实现一个逻辑,其中一个操作可以立即执行,也可以放入队列中等待某个网络服务可用。
实施此类操作的最佳方法是什么?它是否具有函数的线程安全队列和仅在资源可用时才使用这些操作的轮询使用者?
有没有实现类似功能的库或示例?
我们可以采用生产者消费者方法并进行大量实施。此外,.NETConcurrent命名空间也有BlockingCollection<T>or ConcurrentQueue<T>。但是,似乎挑战不是实现生产者消费者模式,而是等待Queue某些资源可用(在您的情况下为网络服务)。这更像是一种不确定的情况,您不知道资源何时可以使用。这个挑战可以通过具有持久性的队列来解决。例如:Microsoft's Message Queue (MSMQ)使用私有/公共队列。
Concurrent
BlockingCollection<T>
ConcurrentQueue<T>
Queue
Microsoft's Message Queue (MSMQ)