2013-03-10 108 views
0

的是它確定爲以下聲明的List<T>隊列:隊列列表<T>

private static Queue<List<object>> webdata = new Queue<List<object>>(); 

我的對象列表通常包含幾個數據表和其他一些物品

  • 如果沒有,是否有一個更好的方法來做到這一點?
  • 如果隊列計數爲100我如何告訴線程執行 排隊停止,直到隊列的計數小於50?
+2

你的意思是「我的對象列表通常包含[一對]數據庫...」? – tvanfosson 2013-03-10 17:11:01

+0

@tvanfosson我的意思是有很多的對象和數據表,我想限制我的隊列到一個特定的大小,保持排隊線程,直到出隊線程做更多的處理,因爲它會佔用大量的內存 – user1590636 2013-03-10 17:18:10

+0

你爲什麼要存儲這些在隊列中(或者甚至是列表或列表的隊列)? – tvanfosson 2013-03-10 17:18:58

回答

2
private static Queue<List<object>> webdata = new Queue<List<object>>(); 

當然,你可以聲明一個這樣的數據類型。

如果隊列計數爲100我如何告訴線程停止隊列直到隊列的計數小於50?

這是一個完美的工作TPL Dataflow。在阻止接受其他項目之前,您可以控制處理塊中可能有多少項目。

如果您還沒有學習TPL數據流,那麼需要及時投資才能理解這些概念。但是,它非常適合這種類型的處理,並且可能值得付出努力。

+0

雖然我仍然在學習c#的基礎知識,但我會走這個,謝謝:) – user1590636 2013-03-10 17:13:55

+0

正是我所期待的,非常感謝! – user1590636 2013-03-10 17:42:07