中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何在parallel.foreach中使用 await

小樊
103
2024-07-01 16:09:38
欄目: 編程語言

在Parallel.ForEach中使用await并不是一個好的選擇,因為Parallel.ForEach是用于并行執行多個任務的,而await是用于等待單個任務完成的。如果在Parallel.ForEach中使用await,會導致整個循環變成同步執行,失去了并行執行的效果。

如果需要在Parallel.ForEach中等待每個任務完成,可以使用Task.WhenAll方法來等待所有任務完成,示例如下:

List<Task> tasks = new List<Task>();

Parallel.ForEach(items, item =>
{
    Task task = Task.Run(async () =>
    {
        // 執行異步操作
        await DoSomethingAsync(item);
    });

    tasks.Add(task);
});

await Task.WhenAll(tasks);

在上面的示例中,我們首先創建一個包含所有任務的List,然后在Parallel.ForEach中執行異步操作,并將每個任務添加到List中。最后,使用Task.WhenAll方法等待所有任務完成。這樣就能夠在并行執行異步操作的同時等待所有任務完成。

0
吴桥县| 齐河县| 黄石市| 贺兰县| 雷波县| 长阳| 广平县| 仙居县| 沿河| 寿宁县| 宾川县| 穆棱市| 曲沃县| 南安市| 桂林市| 元谋县| 盈江县| 藁城市| 长宁区| 石首市| 镇雄县| 福建省| 资兴市| 远安县| 河北省| 清涧县| 阳泉市| 色达县| 清新县| 土默特右旗| 读书| 景德镇市| 澄迈县| 平原县| 镇赉县| 营山县| 邮箱| 章丘市| 通辽市| 缙云县| 张北县|