1

いつ使用する必要がありますか

Task task1 = Task.Factory.StartNew (() => {...})
                 .ContinueWith (ant => Console.Write ("2"));

Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));
4

1 に答える 1

4

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、最初に開始されます。

于 2013-03-10T12:19:10.713 に答える