.NET タスクの作成: Task.Run() と Task.Factory.StartNew()
.NET Framework の Task
クラスは、非同期プログラミングを容易にします。 Task.Factory.StartNew()
は新しいタスクを作成するための標準として長い間使用されてきましたが、Task.Run()
はより簡単な代替手段を提供します。この記事では、これらの違いを明確にし、適切な方法を選択するためのガイドを示します。
Task.Run(): 日常のタスクを簡素化
Task.Run()
はタスクの作成を合理化し、デフォルト設定で十分なシナリオに最適です。使いやすいため、単純な非同期操作に最適です。
Task.Factory.StartNew(): 高度な制御とカスタマイズ
Task.Factory.StartNew()
はタスクの動作を詳細に制御し、次のカスタマイズを可能にします。
LongRunning
) の使用など、タスクのプロパティを管理します。いつどちらを使用するべきですか?
特別な要件のない簡単なタスクの場合は、Task.Run()
がより簡潔な選択肢です。 ただし、きめ細かい制御が必要な複雑なシナリオの場合、Task.Factory.StartNew()
は必要な柔軟性を提供します。
例: 長時間実行オペレーション
スレッド プールのスレッドを使用すべきではない、長時間実行されるタスクが必要だとします。 Task.Run()
はこれを許可しません。 ただし、Task.Factory.StartNew()
では、LongRunning
オプションを使用してこれを許可します。
<code class="language-csharp">Task.Factory.StartNew(..., TaskCreationOptions.LongRunning);</code>
概要
Task.Run()
はタスクの開始を簡素化し、Task.Factory.StartNew()
は優れた制御を提供します。 それらの違いを理解することが、効率的で適応性のある非同期コードを作成するための鍵となります。特定の非同期プログラミングのニーズに最も適した方法を選択してください。
以上がTask.Run() と Task.Factory.StartNew(): いつどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。