我有以下代碼:TPL內任務
List<Task> tasks = new List<Task>();
tasks.Add(Task.Factory.StartNew(() =>
{
rs1.Process();
}).ContinueWith((previousTask) =>
{
rs5.Process();
rs6.Process();
}));
tasks.Add(Task.Factory.StartNew(() =>
{
rs2.Process();
}));
tasks.Add(Task.Factory.StartNew(() =>
{
rs3.Process();
}));
try
{
Task.WaitAll(tasks.ToArray());
}
catch (AggregateException e)
{
}
時rs1.Process飾面()rs5.Process()和rs6.Process()運行同步。我如何以異步方式運行它們。
如果我使用內部的任務,他們沒有被期待已久的
這些不是「內部任務」,它們是延續。嘗試'... ContinueWith(async(previousTask)=> {await Task.Run(()=> rs5.Process());等待Task.Run(()=> rs6.Process())})); '或者類似的東西。 – Fildor
That does not compile – pantonis
我沒有測試它,你可能不得不改變它來編譯它。這只是爲了得到這個想法。 – Fildor