如何使用System.Threading.Parallel (.Net 4.0)增加并发并行任务

3

我正在尝试使用新的System.Threading.Parallel方法,比如并行for和foreach。

它们似乎运行得很好,但我需要一种增加并发线程数的方法,目前只有8个(我有一个四核处理器)。

我知道这是可能的,但我找不到它在哪里(指相应的设置属性)。

Gilad。

3个回答

6

quote:

var query = from item in source.AsParallel().WithDegreeOfParallelism(10)
        where Compute(item) > 42
        select item;

在查询执行大量非计算边界工作(例如文件I/O)的情况下,指定比机器上核心数更高的并行度可能会有益处。
来自:MSDN

4
如果您正在使用Parallel.ForParallel.ForEach,则可以指定一个ParallelOptions对象,该对象具有一个属性MaxDegreesOfParallelism。不幸的是,正如名称所示,这只是一个最大限制,并不能提供下限保证。关于WithDegreeOfParallelism的关系,请参见此博客文章

0

MAY NOT - 话不多说。Blindy评论得很正确。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接