GetSystems()
和GetActions()
都返回不同類型的IEnumerable<T>
。我需要做什麼才能訪問下面的結果?我需要使用Task.WaitAll()
或類似的東西嗎?執行並行任務 - >等待所有 - >利用結果
Task t1 = new Task(() => GetSystems());
Task t2 = new Task(() => GetActions());
List<Task> tasks = new List<Task>() { t1, t2 };
Parallel.ForEach(tasks, t =>
{
t.Start();
});
//t1.Result...?
我正在使用C#4.0。
更新:
private Task<List<SYSTEM>> GetSystems()
{
return Task.Factory.StartNew(() =>
{
using (var context = new DbContext())
{
return context.SYSTEM.ToList();
}
});
}
'Task'沒有'Result'屬性。 '任務'確實。我們不知道「GetSystems」或「GetActions」是做什麼的,但你幾乎肯定需要某種形式的「任務」。 –
@JonSkeet對,我已經更新了當前狀態下的一種方法。你介意告訴我如何讓它返回所需的類型嗎? – Johan
好吧,它聽起來像你想要的任務> t1 =新任務(()=> GetSystems());'。然而,你幾乎肯定希望返回'context.SYSTEM.ToList()',否則它不會對你有用...... –