こんにちは_noOfThreads
、一度に実行する定義済みのタスクがあります。そのため、演算子を使用してタスクを継続し%
、ループの最後にTasks.WaitAll
. これはコード スニペットです。
for (int index = 0; index < count; index++)
{
if (index < _noOfThreads)
tasks[index] = Task.Factory.StartNew(somedelegate);
else
tasks[index % _noOfThreads].ContinueWith(task => { foo.bar(); },
TaskContinuationOptions.AttachedToParent);
}
Task.WaitAll(tasks);
ただし、子タスクが完了するのを待たないことに気付きました。親タスクが完了するとすぐに、次の行Task.WaitAll
が実行されます。子タスクも待機するようにこのコードを変更するにはどうすればよいですか?