首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何正确使用Task.WhenAll

在C#中,Task.WhenAll可以用于并行执行多个异步任务,并等待所有任务完成后继续执行。以下是一个简单的示例,展示了如何正确使用Task.WhenAll:

代码语言:csharp
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // 创建一个任务列表
        List<Task> tasks = new List<Task>();

        // 添加任务到列表中
        tasks.Add(Task.Run(() => DoSomeWork("Task 1")));
        tasks.Add(Task.Run(() => DoSomeWork("Task 2")));
        tasks.Add(Task.Run(() => DoSomeWork("Task 3")));

        // 使用Task.WhenAll等待所有任务完成
        await Task.WhenAll(tasks);

        Console.WriteLine("All tasks completed.");
    }

    static async Task DoSomeWork(string taskName)
    {
        // 模拟执行时间
        await Task.Delay(1000);

        Console.WriteLine($"{taskName} completed.");
    }
}

在这个示例中,我们创建了一个任务列表,并使用Task.Run方法将任务添加到列表中。然后,我们使用Task.WhenAll方法等待所有任务完成。当所有任务完成后,我们会在控制台上输出“All tasks completed.”。

注意,在使用Task.WhenAll时,我们需要确保所有任务都是异步的,否则可能会阻塞主线程。此外,我们还需要确保所有任务都已经启动,否则Task.WhenAll可能会无法正常工作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分9秒

如何正确使用技术词汇

22K
-

如何让元宇宙走上正确的道路,仍需加以正确的引导。#元宇宙

1分1秒

UserAgent如何使用

1分26秒

事件代理如何使用?

1分24秒

如何使用OneCode开源版本?

55秒

如何使用appuploader描述文件

1分34秒

如何使用 CS 定义代码环境

5分10秒

033-如何使用FLUX文档

1分18秒

如何使用`open-uri`模块

1时22分

Android核心技术:一节课教你 Get 5G时代使用Webview的正确姿势!

34分5秒

javaweb项目实战 19使用AJAX异步验证用户唯一和验证码是否正确 学习猿地

33秒

编辑面板丨如何使用组件库?

领券