task.result and .getawaiter()
非同期コードを処理する場合、開発者は多くの場合、同時実行方法を実行する必要があります。これは、またはを使用して実装できます。ただし、これら2つの方法には微妙な違いがあり、検討する価値があります。
に梱包するのではないためです。この動作は、正しい治療に非常に重要です。task.wait and task.resultなぜ異常に広がらないのか
Microsoftによると、によると、Task.GetAwaiter().GetResult()
とTask.Wait
の設計は、後方互換性を維持することです。したがって、既存のコードを維持するためにTask.Result
にパッケージ化されています。ただし、この方法により、実際のタスクを決定する際のエラーが発生する場合があります。 AggregateException
や
よりも異常な治療において多くの利点がありますが、これらの3つの方法は、潜在的な死んだロックと糸プールの飢erにつながる可能性があります。ベストプラクティスは、非同期タスクをブロックすることを避けることですが、Task.Wait
モードに依存することです。これにより、バックグラウンドでタスクを実行するときにアプリケーションが動作し続けることができます。 Task.Result
以上がtask.result vs. getAwaiter()。getResult():同期タスクの実行に使用する方法はどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。