无需等待永恒循环结束,即可获取下一个函数

本文关键字:获取 下一个 函数 结束 等待 永恒 循环 | 更新日期: 2023-09-27 18:06:00

我有一个函数,它开始新的任务:

private async Task GetCamera()
{
  ....
  await Task.Run(async () => await MyAwesomeTask());//eternal cycle
  int a=10;//how start without waiting for the end of the thread?
  int b=15;
  SomeFunction(a,b);    
}
private async Task MyAwesomeTask()
{
  while (true)
  {
    await Task.Delay(TimeSpan.FromSeconds(0.5));
    //some task
  }
}

但是下一行(int a=10;)等待Task结束。我需要,那(int a=10;) NOT等待,下一步。我该怎么办?

无需等待永恒循环结束,即可获取下一个函数

因为你等待你的Task. run(…)调用你的GetCamera方法的执行是'暂停'在等待行,直到任务已经完成。一旦异步调用终止,GetCamera方法的执行将继续。

await操作符应用于异步方法中的任务,以挂起该方法的执行,直到等待的任务完成。任务表示正在进行的工作。

MSDN

要让你的方法继续执行,你需要删除await。