Net Core以后加入了很多异步的使用方式主要加入了关键词 await,async 关键词
一般大家异步方法以Async结尾例如 File.ReadAllTextAsync
async
用于声明异步函数,返回值为一个 Task 对象或者Task<T> 对象,它以类似 同步 的方式来写异步方法,语法与声明函数类似
static async Task<string> Rune()
    {
        var demo = "Hello World";
        Thread.Sleep(1000);
        return demo;
    }await
用法顾名思义,有 等待 的意思,语法为:
var value = await Rune();
使用了await方法的时候,调用的方法也必须增加 async 关键词
调用异步方法有几种
一、使用异步传递的方法异步调用
    static async Task Demo01()
    {
        var str = await Rune();
        Console.WriteLine(str);
    }
    static async Task<string> Rune()
    {
        var demo = "Hello World";
        Thread.Sleep(1000);
        return demo;
    }二、尝试用同步的方法使用
直接获取Task返回,然后调用result,此时就可以不加 async 关键词,变成同步方法,但是官方不建议,可能多并发时导致死锁
  static void Demo01()
    {
        var t =  Rune();
        var str = t.Result;
        Console.WriteLine(str);
    }
    static async Task<string> Rune()
    {
        var demo = "Hello World";
        Thread.Sleep(1000);
        return demo;
    }