とawait Task.Run(); return;
return Task.Run()
の微妙な違い
1 2 3 4 5 |
|
1 2 3 4 |
|
Task.Run()
異常なコミュニケーション
主な違いは異常な治療です。最初の例では、非同期法が後で非同期方法を待っているときにと
の使用がキャプチャされ、捨てられます。これにより、発信者は異常をエレガントに処理できます。
それどころか、await
DoSomeWork()
の2番目の例では、例外がすぐに広がり、コールメソッドの実行が中断される場合があります。これは、予期しない行動につながり、異常な治療を困難にする可能性があります。
上記の同期await
別の違いは、同期コンテキストに関連しています。
await
DoSomeWork()
非デフォルト同期コンテキストを使用してGUIアプリケーションで非同期操作を実行する場合、return Task.Run()
メソッドが発生する可能性が高くなります。たとえば、非同期操作を開始し、UIスレッドから
概要
これら2つのコードフラグメントの結果は異なります。これは、主に異常の使用とawait
の使用とは異なるためです。非同期操作の場合、を使用すると、異常な普及をより適切に制御し、正しい同期コンテキストで正しく実装されるようにします。 await
以上がawait task.run():「await ass.run()の違いは何ですか。 return; `および` return task.run() `?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。