Parallel.ForEach 和 PLINQ 都是用于并行處理集合數據的工具,它們可以結合使用來提高處理效率。
一種常見的方式是在 PLINQ 查詢中使用 Parallel.ForEach 來并行處理查詢結果中的每個元素。例如:
var data = Enumerable.Range(1, 1000);
// 使用 PLINQ 查詢
var query = data.AsParallel().Where(x => x % 2 == 0);
// 使用 Parallel.ForEach 并行處理查詢結果
Parallel.ForEach(query, item =>
{
// 處理每個元素
Console.WriteLine(item);
});
在這個例子中,首先創建一個包含 1 到 1000 的整數集合,然后使用 PLINQ 查詢篩選出偶數元素。最后,使用 Parallel.ForEach 并行處理查詢結果中的每個元素,并輸出到控制臺。
需要注意的是,在使用 Parallel.ForEach 時需要注意線程安全性和并發訪問問題,確保在處理每個元素時不會出現數據競爭或其它并發問題。