4
我已經搜索過,但無法在任何地方找到明確的確認......如果任務有多個延續(不是鏈式延續),那麼這些延續是否相互平行?任務的延續是否彼此異步運行?
我想運行task1,之後是task2-task3-task4並行到彼此,最後是task5完成之後。下面的例子。任務2,3和4是否會相互異步運行?
雖然我們在此,但任何改善模式的建議都是值得歡迎的。看起來有幾種不同的方法來完成這個組合。謝謝
public Task MyWorkflowAsync() {
Task task1 = Task.Factory.StartNew(() => DoTask1());
var tarray = new Task[] {
task1.ContinueWith(task => DoTask2()),
task1.ContinueWith(task => DoTask3()),
task1.ContinueWith(task => DoTask4())
};
return Task.Factory.ContinueWhenAll(tarray, completedTasks => DoTask5());
}
Yuck。不是我希望的答案:-)我可以看到爲什麼需要添加內部DoTasks,但爲什麼還需要添加外部ContinueWith任務?在你的例子中,任務最終有6個成員而不是3個,這是正確的嗎? – nmarler 2011-12-15 20:37:35