2013-01-21 39 views
0

如果我想從各種來源將數據放入一個隊列中,並且每當它有任何要發送的數據時,它都會發送它,然後等待一段時間。因此,例如,隊列是空的,我發送兩件事發送,它立即發送第一件事,然後在發送下一件事之前等待一下。我將如何做到這一點?如何使用隊列發送數據?

+0

您可以使用foreach循環和計時器(不一定是最佳解決方案) – RhysW

回答

2

聽起來像你應該有一個生產者/消費者隊列,消費後延遲一個消費者。 (當然,消費者將與生產者有不同的線索)。

從.NET 4開始,BlockingCollection<T>是生產者/消費者隊列的基本構建塊。你也應該看看TPL DataFlow - 它可能有一個簡單的方法來開箱即用。 (DataFlow是專門針對生產者/消費者場景的庫。)

+0

我會如何使用它? – Cool12309

+0

@ Cool12309:其中,'BlockingCollection '?我已經給你一個大綱。結合對MSDN的一些研究,應該足以實現它。如果您需要更多信息,您必須提出*特定問題。 –

+0

@Jon_Skeet如何知道何時已將某些內容添加到隊列中? – Cool12309

相關問題