我正在嘗試新的System.Threading.Parallel方法,如parallel for和foreach。如何使用System.Threading.Parallel(.Net 4.0)增加併發併發任務
他們似乎很好地工作,但我需要一種方法來增加8(我有一個四核心)執行的併發線程的數量。
我知道有一種方法,我可以找到你隱藏該死的財產的地方。
吉拉德。
我正在嘗試新的System.Threading.Parallel方法,如parallel for和foreach。如何使用System.Threading.Parallel(.Net 4.0)增加併發併發任務
他們似乎很好地工作,但我需要一種方法來增加8(我有一個四核心)執行的併發線程的數量。
我知道有一種方法,我可以找到你隱藏該死的財產的地方。
吉拉德。
報價:
var query = from item in source.AsParallel().WithDegreeOfParallelism(10)
where Compute(item) > 42
select item;
在查詢被執行的非計算密集型工作顯著量如文件的情況下I/O,它可能是有益的指定並行度比更大的機器上的內核數量。
來自:MSDN
如果您正在使用Parallel.For
或Parallel.ForEach
你可以指定一個ParallelOptions
對象,它有一個屬性MaxDegreesOfParallelism
。不幸的是,這只是顧名思義的最大限制,並沒有提供下限保證。關於WithDegreeOfParallelism
的關係見this blog post。
可能不是 - 夠說了。 Blindy評論它正確
我想這是PLINQ,但我明白了..謝謝。 – Gilad 2010-01-02 15:07:31