この例では、タスクのチェーン実行を試みています。
static List<Task> clsTaskList = new List<Task>();
private static void Tasks2()
{
Task t1 = new Task(() =>
{
Console.WriteLine("Main task started.");
Thread.Sleep(15000);
Console.WriteLine("Main task finished");
});
Task t2 = new Task(() =>
{
Console.WriteLine("Task 2 started");
Thread.Sleep(15000);
Console.WriteLine("Task 2 finished");
});
clsTaskList.Add(t1);
t1.Start();
clsTaskList.Add(t2);
Task prevTask = clsTaskList.Last(p => p.IsCompleted == false);
prevTask.ContinueWith(t => t2.Start());
}
私がやろうとしているのは、継続タスクをコレクション内の最後のタスクにバインドすることです。ただし、この例では、最初のタスクのみが実行されます。コレクションを調べると、最初のタスクのステータスは ですRanToCompletion
が、2 番目のタスクのステータスはCreated
です。何か不足していますか?