2011-02-17 35 views
1

我對使用隊列和線程有一些疑問。我已經做了研究,但是我沒有設法理解一般的功能。問題理解隊列,並行和線程

我想做什麼:我有一個名爲「mTask」的類,其中有屬性和方法,名爲「StartmTask」。當我創建一個新的mTask時,我將它添加到列表中。

我想處理mTask,當列表中有mTasks時。 (我必須在電腦的每個免費處理器上啓動任務)

我不明白我應該怎麼做......我認爲這是「簡單」,但我實際上已經迷路了。 任何人都可以儘可能簡單地解釋它?

非常感謝,我一直在尋找,如果我不夠清楚,或者如果您需要更多信息,請不要猶豫。

Yowan

+0

http://stackoverflow.com/questions/3872992/how-do-we-do-idle-time-processing-in-wpf-application – spender 2011-02-17 10:00:01

回答

0

我覺得可能是最好的,最簡單的解決辦法是把mTask的線程池,而不是你將不得不觀察的名單。

看一看方法

ThreadPool.QueueUserWorkItem

例子:

ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork),)mTask); 

private void DoWork(object o) 
{ 
    task = o; 
} 

如果你使用它,無需任何設置,線程分配給每個CPU。你不必關心這一點。

+0

Thansk它似乎在工作,我會稍後檢查;) – Yowan 2011-02-17 10:38:15