我有一個方法void getInformation()
,它調用5個其他方法,每個方法都從數據庫獲取一些數據。它需要大約1秒,直到收集所有數據並返回到getInformation()
,並且因爲我認爲我應該在後臺收集數據。我的問題是:我可以只製作getInformation()
async
,以便在其他方法正在收集信息時不會阻止用戶界面,或者是否必須製作其他所有方法async
?瞭解異步方法
private void button_Click(object sender, EventArgs e)
{
await getContactInformation();
}
public async Task getContactInformation()
{
this.data.Add(collectData1());
this.data.Add(collectData2());
this.data.Add(collectData3());
this.data.Add(collectData4());
this.data.Add(collectData5());
}
看看這個[教程](http://www.dotnetperls.com/async) – 2014-09-11 10:37:12
看看這些問答:https://stackoverflow.com/questions/14177891/can-somebody-please-explain- async-await,https://stackoverflow.com/questions/10960998/how-different-async-programming-is-from-threads和https://stackoverflow.com/questions/14455293/async-and-await – Dirk 2014-09-11 10:43:42