在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個元素。請注意,實際并發度可能會受到系統資源和任務性質的影響。