C# 開発者の間でよくある質問は、ノンブロッキング メソッドを簡単に作成する方法です。 WCF の [OperationContract(IsOneWay = true)]
属性はこの機能を提供しますが、単純なシナリオでは過度に複雑であると考えられる場合があります。 幸いなことに、軽量の代替手段があります。
最も簡単なアプローチには、ThreadPool.QueueUserWorkItem
を使用することが含まれます。このメソッドは、後でスレッド プールによって非同期に実行されるタスクを効率的にキューに入れます。 構文は非常に簡潔です:
<code class="language-csharp">ThreadPool.QueueUserWorkItem(o => FireAway());</code>
タスクをキューに入れた後、実行は直ちに続行され、ファイアアンドフォーゲットメカニズムを効果的に模倣します。
.NET 4.5 以降、Task.Run
は、非同期タスクを実行するための同様に簡単で効率的な方法を提供します。
<code class="language-csharp">Task.Run(() => FireAway());</code>
ThreadPool.QueueUserWorkItem
と Task.Run
は両方とも、C# でノンブロッキング メソッドを作成するためのシンプルかつ効果的な方法を開発者に提供し、より応答性が高く効率的なアプリケーションを実現します。
以上がC# でノンブロッキング メソッドを作成する最も簡単な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。