2013-01-21 38 views
0

如果我想从各种来源将数据放入一个队列中,并且每当它有任何要发送的数据时,它都会发送它,然后等待一段时间。因此,例如,队列是空的,我发送两件事发送,它立即发送第一件事,然后在发送下一件事之前等待一下。我将如何做到这一点?如何使用队列发送数据?

+0

您可以使用foreach循环和计时器(不一定是最佳解决方案) – RhysW

回答

2

听起来像你应该有一个生产者/消费者队列,消费后延迟一个消费者。 (当然,消费者将与生产者有不同的线索)。

从.NET 4开始,BlockingCollection<T>是生产者/消费者队列的基本构建块。你也应该看看TPL DataFlow - 它可能有一个简单的方法来开箱即用。 (DataFlow是专门针对生产者/消费者场景的库。)

+0

我会如何使用它? – Cool12309

+0

@ Cool12309:其中,'BlockingCollection '?我已经给你一个大纲。结合对MSDN的一些研究,应该足以实现它。如果您需要更多信息,您必须提出*特定问题。 –

+0

@Jon_Skeet如何知道何时已将某些内容添加到队列中? – Cool12309

相关问题