阅读量:0
在C#中,可以使用Parallel.ForEach
方法来并行处理集合中的元素。要控制Parallel.ForEach
的并发度,可以通过设置ParallelOptions
对象来实现。以下是一个示例:
using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; class Program { static void Main() { List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // 创建一个ParallelOptions对象 ParallelOptions options = new ParallelOptions(); // 设置最大并行度(这里设置为4) options.MaxDegreeOfParallelism = 4; // 使用Parallel.ForEach处理集合中的元素 Parallel.ForEach(numbers, options, (number, state, index) => { Console.WriteLine($"Processing {number} at index {index}"); Thread.Sleep(100); // 模拟耗时操作 }); Console.WriteLine("All tasks completed."); } }
在这个示例中,我们创建了一个ParallelOptions
对象,并通过MaxDegreeOfParallelism
属性设置了最大并行度为4。这意味着Parallel.ForEach
将同时处理最多4个元素。请注意,实际并发度可能会受到系统资源和任务性质的影响。