Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
异步或并行任务-C#_C#_Asynchronous_Async Await_Task Parallel Library - Fatal编程技术网

异步或并行任务-C#

异步或并行任务-C#,c#,asynchronous,async-await,task-parallel-library,C#,Asynchronous,Async Await,Task Parallel Library,我有一个应用程序,我需要做两个I/O任务:获取GPS位置,通过蓝牙检索一些数据。这两项任务的完成时间可能不同,并且可能需要很多秒。为了提高应用程序的速度,我想同时启动这两个活动,然后等待这两个活动完成后再继续 如果我这样做: bool locationStatus= await GetCurrentLocation(); bool vehicleStatus = await GetVehicleData(); 第二个功能是否被启动,还是只有UI未被阻止 我需要调用并行任务吗?您正在直接等待第一

我有一个应用程序,我需要做两个I/O任务:获取GPS位置,通过蓝牙检索一些数据。这两项任务的完成时间可能不同,并且可能需要很多秒。为了提高应用程序的速度,我想同时启动这两个活动,然后等待这两个活动完成后再继续

如果我这样做:

bool locationStatus= await GetCurrentLocation();
bool vehicleStatus = await GetVehicleData();
第二个功能是否被启动,还是只有UI未被阻止


我需要调用并行任务吗?

您正在直接等待第一个函数。如果要让函数异步完成,必须将
wait
放置在需要变量的位置

例如:

var locationStatus = GetCurrentLocation();
var vehicleStatus = GetVehicleData();

if (await locationStatus && await vehicleStatus)
{
    // Do stuff
}

您正在直接等待第一个函数。如果要让函数异步完成,必须将
wait
放置在需要变量的位置

例如:

var locationStatus = GetCurrentLocation();
var vehicleStatus = GetVehicleData();

if (await locationStatus && await vehicleStatus)
{
    // Do stuff
}

几个小时前有一个重复的问题。有很多类似的问题,都有很好的解释。请在发布前先搜索解决方案。我知道这不是您寻求的快速答案,但我相信您应该投资研究这一点。如果你问一些已经被回答了100次的问题,你就不会得到好的答案——人们会在一段时间后厌倦回答同样的问题。他们不会在一年前写下伟大的解释,他们只会发布一篇简短的文章answer@itdoesntwork这种联系与问题无关。Rx并不适用于异步编程,它适用于事件流处理,即使像Java这样的其他语言也这样使用它,因为它们缺乏
async/await
support几个小时前有一个重复的问题。有很多类似的问题,都有很好的解释。请在发布前先搜索解决方案。我知道这不是您寻求的快速答案,但我相信您应该投资研究这一点。如果你问一些已经被回答了100次的问题,你就不会得到好的答案——人们会在一段时间后厌倦回答同样的问题。他们不会在一年前写下伟大的解释,他们只会发布一篇简短的文章answer@itdoesntwork这种联系与问题无关。无论如何,Rx并不适用于异步编程,它适用于事件流处理,即使像Java这样的其他语言因为缺乏
async/await
支持而使用它