c#非同期プログラミング
await Task.Run()
return Task.Run()
の重要な違い
とawait Task.Run()
の間には微妙な違いがあります。 return Task.Run()
これにより、制御された方法で異常に対処して、UIスレッドに誤って投げかけるのを防ぐことができます。 await Task.Run()
return Task.Run()
2。同期コンテキストへの依存:
2つの方法によって生成されたコードはわずかに異なります。 の場合、非同期実行を管理するために、async/awaitステータスマシンが作成されます。これにより、よりも複雑なコードが発生します。
コードの例:await Task.Run()
return Task.Run()
例1:
例2:
await Task.Run()
return Task.Run()
これら2つの例では、「dosomework()」は、UIスレッドの外で特定のジョブを実行する方法です。
結論:
およびの選択は、アプリケーションの特定のニーズに依存します。異常な普及を制御し、正しい同期コンテキストを確保することが重要な場合、
を使用することをお勧めします。異常を広めたり、コンテキストをすぐに同期させるのが問題でない場合、が適しています。
以上がwaing task.run()vs。return task.run():C#非同期プログラミングの重要な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。