次のようなコードがあります。
public IList<Result> GetResult()
{
var result = new List<Result>();
result.AddRange(GetSomeItemsA());
result.AddRange(GetSomeItemsB());
result.AddRange(GetSomeItemsC());
return result;
}
Task Parallel Library を使用してメソッド GetSomeItemsA、GetSomeItemsB、および GetSomeItemsC を呼び出すか、別の方法で高速化し、3 つのタスクが完了したときにのみ結果を返すようにしたいと考えています。
一般に、最良のアプローチは何でしょうか。さまざまなソースからアイテムを取得し、このソースからのすべてのアイテムを含む結果を返す必要がある場合、どのように最適化できますか?