我正在尝试使用新的System.Threading.Parallel方法,比如并行for和foreach。
它们似乎运行得很好,但我需要一种增加并发线程数的方法,目前只有8个(我有一个四核处理器)。
我知道这是可能的,但我找不到它在哪里(指相应的设置属性)。
Gilad。
我正在尝试使用新的System.Threading.Parallel方法,比如并行for和foreach。
它们似乎运行得很好,但我需要一种增加并发线程数的方法,目前只有8个(我有一个四核处理器)。
我知道这是可能的,但我找不到它在哪里(指相应的设置属性)。
Gilad。
quote:
var query = from item in source.AsParallel().WithDegreeOfParallelism(10)
where Compute(item) > 42
select item;
Parallel.For
或Parallel.ForEach
,则可以指定一个ParallelOptions
对象,该对象具有一个属性MaxDegreesOfParallelism
。不幸的是,正如名称所示,这只是一个最大限制,并不能提供下限保证。关于WithDegreeOfParallelism
的关系,请参见此博客文章。MAY NOT - 话不多说。Blindy评论得很正确。