private async void button1_Click(object sender, EventArgs e)
{
var t = Task.Run(() => {
Thread.Sleep(5000);
return "Hello I am TimeConsumingMethod";
});
textBox1.Text = await t;
}
1.button1_Click 方法前面加上 async
2 执行接收 Task.Run( ()=>{} ) 要加上 await
在使用时注意死锁问题
:链接=> 小心C# 5.0 中的await and async模式造成的死锁寥寥几行就搞定了,不用再多写那么多函数,使用起来也很灵活。最让人头疼的跨线程修改控件的问题完美解决了,再也不用使用Invoke了,因为修改控件的操作压根就是在原来的线程上做的,还能不阻塞UI