私は次のコードを持っている: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を()の同期を実行します。どのようにそれらを非同期で実行しますか?
私は、彼らが
これらは「内部タスク」ではなく、継続です。タスクの実行を待ってください(async(previousTask)=> {Task.Run(()=> rs5.Process());待ちTask.Run(()=> rs6.Process())})); 「何か同じように。 – Fildor
それはコンパイルされません – pantonis
私はそれをテストしていない、おそらくそれをコンパイルするためにそれを変更する必要があります。アイデアを得るだけです。 – Fildor