我有一个应用程序需要执行两个I / O任务:获取GPS位置,通过蓝牙检索一些数据。这两项任务都可以在不同时间内完成,并且可能需要很长时间。为了提高应用程序的速度,我想同时启动两个活动,然后等待两个活动完成再继续。
如果我这样做:
bool locationStatus= await GetCurrentLocation();
bool vehicleStatus = await GetVehicleData();
第二个功能是否被启动,或者它只是未被阻止的UI?
我是否需要调用并行任务?
答案 0 :(得分:6)
您正在等待第一个功能。如果要让函数完全异步,则必须将await
放在需要变量的位置。
例如:
var locationStatus = GetCurrentLocation();
var vehicleStatus = GetVehicleData();
if (await locationStatus && await vehicleStatus)
{
// Do stuff
}