C# Wait如何用于異步編程

c#
小樊
127
2024-06-25 01:21:26

在C#中,可以使用Wait方法來(lái)等待異步操作完成。通常情況下,可以在異步方法調(diào)用后使用Wait方法來(lái)等待任務(wù)的完成。下面是一個(gè)簡(jiǎn)單的示例:

using System;
using System.Threading.Tasks;

public class Program
{
    public static async Task Main()
    {
        Task<int> task = Task.Run(() =>
        {
            // 模擬一個(gè)耗時(shí)操作
            System.Threading.Thread.Sleep(2000);
            return 42;
        });

        Console.WriteLine("開(kāi)始執(zhí)行異步操作");

        // 使用Wait方法等待異步操作完成
        task.Wait();

        Console.WriteLine($"異步操作完成,結(jié)果為:{task.Result}");
    }
}

在上面的示例中,我們使用Wait方法來(lái)等待異步任務(wù)task完成,并獲取其結(jié)果。注意,Wait方法會(huì)阻塞當(dāng)前線程直到任務(wù)完成,因此應(yīng)謹(jǐn)慎使用以避免造成線程阻塞的情況。更推薦的做法是使用async/await關(guān)鍵字來(lái)進(jìn)行異步編程,而不是直接使用Wait方法。

0