我有一个方法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