0

次のスニペットを取得した場合:

async Task MyFunc()
{
    await DoWork1();
    await DoWork2();
}
async Task<object> DoWork1() { /*Do work here*/ }
async Task<object> DoWork2() { /*Do other work here*/ }

void main()
{
    MyTask();
    //Do some stuff which needs MyFunc() to be completed beforehand.
}

私がやろうとしているのは、 DoWork1() と DoWork2() を並行して実行させることですが、両方が完了した場合にのみ main() に戻ります。

それはそのように機能しますか?またはより良い解決策はありますか?

4

1 に答える 1

1

WhenAll単純な並列処理に使用できます。

async Task MyFunc()
{
  var task1 = DoWork1();
  var task2 = DoWork2();
  await Task.WhenAll(task1, task2);
}
于 2013-03-04T13:12:22.730 に答える