다음 코드를 가지고 있는데, 이것이 올바른 방법인지 확인해야합니다. 작동하며 모든 것이 있지만 예상대로 빠르지는 않습니다. 각 개별 호출과 가장 오래 걸리는 곳은 실행하는 데 걸리는 시간과 거의 같습니다.언제 모두 작업을 사용해야합니까?
public async Task<Result[]> DoSomethingGoodAsync()
{
List<Product> productList = getproducts();
IEnumerable<Task<Result>> list =
from p in productList select DoSomethingAsync(p);
Task<Result>[] slist = list.ToArray();
return await Task.WhenAll(slist);
}
지금 내 질문이 맞습니까? 이 작업을 더 효율적이고 효과적으로 수행 할 수있는 방법이 있습니까? DoSomethingAsync는 또 다른 비동기 메서드를 호출하는 대기 가능한 메서드입니다.
편집 : 내 질문 .. 내가 함께 실행하고 싶어하는 메서드의 컬렉션을 구축하는 올바른 방법이 있나요?
내부 DoSomethingAysnc()
scrapeResult = await UrlScraper.ScrapeAsync(product.ProductUrl);
model = this.ProcessCheckStock(model, scrapeResult, product);
getproducts() 호출로 시간이 많이 걸리지 않았습니까? 처음에는? –
'getproducts'는 어떻게 생겼습니까? – casperOne