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页