我看了微軟在MSDN上的任務教程...它顯示的東西很好,但我仍然有問題在那裏例子...在這發現URL:MSDN LinkSystem.Threading.Task庫在.NET中特別是Parallel.ForEach
他們展示了一個例子,他們展示了一個Parallel.ForEach()靜態方法調用。在那個方法中,他們有四個參數......第一個參數是否必須是一個Ints數組?或者它可能是所有線程正在處理的任何類型的集合或對象?看起來第二個參數是一個Action,它是一個不返回值(或void)的委託。第二個變量是什麼?線程局部初始化器?爲什麼初始化爲0?到底在這裏設置了什麼?第三個參數只是一個委託(或者我喜歡認爲它們的一個函數點)是lambda表達式右側的實際函數?例如,我可以在那邊放一個實際功能的名字,而不必在那裏寫出來嗎?例如...
public int localSum(int n, ParallelLoopState loopState, int localSum) {
localSum += n;
Console.WriteLine("Thread={0}, n={1}, localSum={2}", Thread.CurrentThread.ManagedThreadId, n, localSum);
return localSum;
}
(n, loopState, localSum) => localSum(int n, ParallelLoopState loopState, int localSum),
你看過「Parallel.ForEach」的文檔嗎?這聽起來像它會回答你所有的問題... –
這是並行聚合,它在這裏廣泛覆蓋http://msdn.microsoft.com/en-us/library/ff963547.aspx –