C#中await和async关键字的简单理解

86 阅读1分钟

C# 5.0之后,为了简化异步编程,引入了异步函数的概念,也就是方法标记async,然后可以使用await表达式来等待异步操作返回。

await关键字看起来是一个阻塞线程的调用,但是实际上执行到await位置的时候,当前线程会立即返回,但是等到await表达式执行完成之后,当前线程会继续执行await后面的操作,相比之前的多线程操作先要new Thread,要更新界面,还得Invoke。简直不要方便太多。

  private async void button1_Click(object sender, EventArgs e)
        {
            string html =  await new HttpClient().GetStringAsync("http://www.baidu.com");
            this.textBox1.Text = html;
        }

参考资料《深入理解C#》第15页