いつ使用する必要がありますか
Task task1 = Task.Factory.StartNew (() => {...})
.ContinueWith (ant => Console.Write ("2"));
対
Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));
いつ使用する必要がありますか
Task task1 = Task.Factory.StartNew (() => {...})
.ContinueWith (ant => Console.Write ("2"));
対
Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));
2 番目のタスクへの参照があることを除いて、これは同じことを意味します。タスクをまとめて実行する前に、最初のタスクで何らかの処理が必要な場合は、2 番目のオプションを使用できます。たとえば、別のタスクを追加しvar task3 = task1.ContinueWith()
て、タスク 2 と 3 が同時に実行されるようにしますが、最初のタスクの処理が完了した場合のみです。実際には次のようになります。
Task task2 = Task.Factory.StartNew (() => {...}).ContinueWith (ant => Console.Write ("2"));
Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));
に置き換えtask1
たことに注意してくださいtask2
。いずれかのタスクを開始するとtask1
、最初に開始されます。