在 C# 中,使用 async 和 await 關(guān)鍵字可以簡化異步編程的操作。下面是一個例子來展示如何使用 async 和 await 來創(chuàng)建異步線程:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
Console.WriteLine("Main thread starts.");
// 調(diào)用異步方法
await Task.Run(() =>
{
Console.WriteLine("Async thread starts.");
// 模擬耗時操作
Task.Delay(2000).Wait();
Console.WriteLine("Async thread ends.");
});
Console.WriteLine("Main thread ends.");
}
}
在上面的例子中,Main 方法被標記為 async,這意味著它可以包含 await 關(guān)鍵字。在 Main 方法中,我們使用 await 來等待異步方法 Task.Run 的完成。在 Task.Run 方法內(nèi)部,我們創(chuàng)建了一個新的異步線程,執(zhí)行一些耗時操作,并最終結(jié)束該線程。
通過使用 async 和 await,我們可以讓代碼更加清晰和易讀,避免了繁瑣的回調(diào)函數(shù)嵌套。同時,異步操作可以提高程序的性能和響應(yīng)性。