ホームページ > バックエンド開発 > C++ > asyncタスクvs. async void:いつタスクを返す必要がありますか?

asyncタスクvs. async void:いつタスクを返す必要がありますか?

Mary-Kate Olsen
リリース: 2025-02-01 13:56:09
オリジナル
645 人が閲覧しました

Async Task vs. Async Void: When Should You Return a Task?
非同期プログラミングでは

およびreturn値の選択async Taskasync void 非同期プログラミングでは

および

を使用することが一般的ですが、asyncまたはawaitを返す方法として選択することはしばしば混乱しています。 public async Task AsyncMethod(int num) public async void AsyncMethod(int num)return

一般的に、Taskを返すことが最初の選択です。これにより、発信者は非同期操作の進行を追跡し、それが完了するのを待つことができます。これは、タスクが操作を実行するのに長い時間がかかる可能性があることを示している場合に非常に便利です。

returnTask

通常、非同期操作に使用されるに戻ると、その進行状況を報告する必要はありません。または、受信者が完了するのを待つ必要はありません。適切なシナリオは、イベント処理手順が通常返されないため、イベントに対処することです。 void 非必要なキーワード

void場合によっては、

および

は必要ない場合があります。たとえば、メソッドが単一の非同期操作のみを実行し、その進捗を追跡する必要がない場合は、次の構文を使用できます。 ただし、この場合、特に非同期操作が発信者の前例のない異常を投げた場合、異常の正しい扱いを確保するため、

を使用することをお勧めします。

asyncその他の予防策await

<code class="language-csharp">public static void AsyncMethod2(int num)
{
    Task.Factory.StartNew(() => Thread.Sleep(num));
}</code>
ログイン後にコピー

メソッドは「トップレベル」の非同期操作と見なされ、異常な治療に特別なルールがあります。 async await上位レベルメソッドが異常にスローされている場合、発信者は常に観察するとは限りません。

およびを使用して、例外を上部および非トップレベルの非同期メソッドで適切に処理できるようにします。

以上がasyncタスクvs. async void:いつタスクを返す必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート