あるタスクが完了したあと、連続して別のタスクを実行したい場合があります。このとき、まず思い付くのは「最初に実行したタスクAを待機して、それから別のタスクBを開始する」でしょう。しかし、これでは結局呼び出し元スレッドをブロックすることになり、最初のタスクAが呼び出し元スレッドと並列に実行されている意味がなくなります。長い処理が行われる場合でもUIスレッドをブロックすることなく処理を進めることは、ユーザー体験の重要な項目のひとつです。そこで今回は、呼び出し元スレッドをブロックすることなく、タスクの完了とともに別のタスクを連続して実行する方法を紹介します。 継続実行 タスクを継続して実行するには、TaskクラスのContinueWithメソッドを利用します。次のサンプルを見てください。 using System; using System.Linq; using System.Threading