두 개의 장기 실행 작업을 병렬로 실행 한 다음 결과를 얻는 방법이 올바르지 않고 대신 async/await를 사용하는 것이 유리한 지 궁금합니다.두 작업을 수행하는 올바른 방법
public int DoStuff()
{
var res1 = Task.Run(() => LongRunning1());
var res2 = Task.Run(() => LongRunning2());
Task.WhenAll(res1, res2);
return res1.Result + res2.Result;
}
int LongRunning1()
{
Thread.Sleep(30);
return 10;
}
int LongRunning2()
{
Thread.Sleep(10);
return 20;
}
두 가지 장기 실행 작업 중에 다른 작업이 있습니까? –
오래 실행되는 oprations IO 또는 CPU가 바인딩되어 있습니까? –