我有4个异步方法在我的应用程序启动时执行。4种异步方法的回调C#
一旦所有方法都完成,我需要执行最后一行代码。因为它们都是异步执行的,所以如何创建回调以确定最后一个方法何时完成执行?
我想过宣布一个全局计数器变量,并在每次方法结束时递增它,一旦计数器达到4,最后一行就会执行。
但我认为这会让它变得复杂一点,有没有更简单的方法呢?
public async Task PerformStartupTasksAsync()
{
await CreateSmartsheet();
// RUN THESE 4 ASYNCHRONOUSLY
ImportMainDatabase();
ImportIncomingSurveyResponse();
ImportOutgoingSurveyResponse();
UpdateHouseHoldListDropdown();
// ENABLE CONTROLS HERE, AFTER 4 METHODS HAVE COMPLETED
}
4种方法的签名是什么?他们是“异步”吗? – JohanP
这四种方法如何异步执行?他们是否使用并返回“任务”?他们是否明确产生线程?他们排队到ThreadPool? –