您现在的位置是:首页 >其他 >C#异步编程async和await关键字及示例代码网站首页其他
C#异步编程async和await关键字及示例代码
在C#开发中,从 C# 5.0 时代引入 async 和 await 关键字,我们使用 async 关键字可将方法指定为异步。异步编程模型成为处理多线程和异步操作的标准方式。async和await关键字使得编写非阻塞代码变得更直观更简洁。
1.用 async 关键字可将方法标为异步,如果对方法使用此关键字,则其称为异步方法。
如下示例代码,定义一个异步方法 myAsyncMethod():
public static async Task myAsyncReadfile(string file)
{
StreamReader reader = new StreamReader(file);
string content = await reader.ReadToEndAsync();
Console.WriteLine(content);
}
2.用await关键字,等待异步任务完成。出现了 await,指的是等待异步任务的结果。
如下示例代码,在主程序中用await关键字等待异步方法 myAsyncReadfile的结果
using System.Threading.Tasks;
namespace ConsoleApp1
{
internal class Program
{
public static async Task myAsyncReadfile(string file)
{
StreamReader reader = new StreamReader(file);
string content = await reader.ReadToEndAsync();
Console.WriteLine(content);
}
static async Task Main(string[] args)
{
await myAsyncReadfile("d:\文档.txt");
Console.WriteLine("主线程执行中");
}
}
}
总结
用async关键字将方法标为异步方法。
用await关键字等待异步任务的结果。