7
prevTask.Wait()は、(タスクライブラリの)ContinueWithで使用することをお勧めしますか?
それで、最近、私は.ContinueWith for Tasksをどのように使用しているかが、適切な使用方法ではないと言われました。私はインターネットでこれの証拠をまだ見つけていないので、皆さんに尋ねて、答えが何であるかを確認します。これが.ContinueWithの使用例です。 public Task DoSomething() { return Task.Factory.StartNew(() => { Console.WriteLine("Step 1"); }) .ContinueWith((prevTask) => { Console.WriteLine("Step 2"); }) .ContinueWith((prevTask) => { Console.WriteLine("Step 3"); }); } これは簡単な例であり、非常に高速に実行されることを知っていますが、各タスクがより長い操作を実行すると仮定します。だから、私が言われたことは、.ContinueWithでは、prevTask.Wait();と言う必要があるということです。それ以外の場合は、前のタスクが完了する前に作業を行うことができます。それは可能ですか?2つ目と3つ目のタスクは、前のタスクが終了して初めて実行されると想定しました。 コードの書き方を教えられた: public Task DoSomething() { return Task.Factory.StartNew(() => { Console.WriteLine("Step 1"); }) .ContinueWith((prevTask) => { prevTask.Wait(); Console.WriteLine("Step 2"); }) .ContinueWith((prevTask) => { …