および:いつ使用されますか? Task.GetAwaiter().GetResult()
Task.Result
コードで非同期メソッドを実行する必要性は非常に一般的です。これは、または
Task
.GetAwaiter().GetResult()
.Result
コールTask.GetAwaiter().GetResult()
結果を直接取得するか、異常な異常を捨てます。この動作は、および
にカプセル化されないからです。 Task
.GetAwaiter().GetResult()
ただし、.Wait()
や.Result
のように、死んだロックや糸プールリソースの疲労のリスクがあることに注意することが重要です。 AggregateException
.GetAwaiter().GetResult()
.Wait()
.Result
に詰め込まれます。
Task.Result
いつ使用するか
は異常なコミュニケーションの利点がありますが、非同期タスクの同期閉塞を可能な限り避けることを強くお勧めします。この方法は、死んだロックとリソースにつながる可能性があります。それどころか、これらの問題を回避するために、メカニズムを使用して完全な非同期コードを記述することを検討してください。 Task
以上が`.GetAwaiter().GetResult()` と `Task.Result`: それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。