C# Task用法

Task概念

在C#中,Task是一种表示异步操作的类。它提供了一种方便的方法来在后台执行耗时的操作,而不会阻塞主线程。以下是一些关于Task用法的例子:


创建Task

1.创建一个简单的Task

//声名Task变量
Task task = Task.Run(async () =>
{
    // 在这里写代码 await 异步代码
});

//不用变量接收,相当直接开线程
Task.Run(() =>
{
    // 在这里写代码
});

2.在Task中返回结果

Task<int> task = Task.Run(async () =>
{
    // 在这里执行异步操作
    return 42;
});

 int result = task.Result;//获取Task的值


3.使用Task.Wait()等待Task完成

Task task = Task.Run(async () =>
{
    // 在这里执行异步操作
});
task.Wait();

使用async和await关键字

async Task MyMethodAsync()
{
   // 在这里执行异步操作
   await MyMethodAsync();
}

在Task中处理异常

Task task = Task.Run(async () =>
{
    try
    {
        // 在这里执行异步操作
    }
    catch (Exception ex)
    {
        // 处理异常
    }
});


果糖网