ホームページ >テクノロジー周辺機器 >IT業界 >async/async/await in c#を使用した非同期プログラミング
この記事では、C#での非同期プログラミングを調査し、
およびasync
キーワードに焦点を当てています。 これらのキーワードは、非同期コードを大幅に簡素化し、読みやすく保守可能にします。 この記事は、同期、同時、並列、および非同期の実行を対照的で、区別を明確にします。
await
重要な概念:
async
await
タスクベースの非同期パターン(TAP):Task
Task<t></t>
async
パフォーマンスと応答性:非同期操作はUIの応答性を高め、スレッドプールを効率的に利用し、I/O操作中にスレッドブロッキングを防ぐことでパフォーマンスを高めることができます。
await
async
例外処理:await
ConfigureAwait(false)
は、.Result
。
.Wait()
await
に置き換え、適切な例外処理を実装します。
.Result
.Wait()
AggregateException
同時対並列対非同期:Task
Task<t></t>
同期:await
操作は順次実行し、完了するまでプログラムをブロックします
複数のタスクが同時に一見実行され、多くの場合、個別のスレッドを使用しますが、必ずしも同時にそうではありません。 並列:
同じタスクの複数のコピーが同時に実行され、複数のコアを活用します。 非同期:BeginOperationName
EndOperationName
イベントベースの非同期パターン(EAP):OperationNameAsync
OperationNameCompleted
OperationNameAsync
Task
Task<t></t>
およびおよびTask
:Task<t></t>
とTask
:Task<t></t>
の役割について説明しています
async
:await
は、メソッドを非同期としてマークし、。
async
await
:
async
await
既存のコードの更新:await
およびを使用して示しており、メソッドシグネチャを更新し、ブロッキングコールをTask
。
Task<t></t>
この記事では、
およびを使用した場合の潜在的なデッドロックについて説明し、特定のコンテキストなしで連続化を実行できるようにすることで、デッドロックを防ぐためのソリューションとしてasync
を紹介します。
await
await
非同期コードでの例外処理:
この記事では、待機をブロックすることでスローされたConfigureAwait(false)
とは異なり、実際の例外を直接スローするを使用した改善された例外処理を強調しています。
さらなる読み取り:async
await
ConfigureAwait(false)
この記事は、C#。
async/await faq:
await
AggregateException
簡潔なFAQセクションでは、
に関する一般的な質問、その目的、同期プログラミングとの違い、使用、パフォーマンスへの影響、および潜在的な落とし穴をカバーしています。
以上がasync/async/await in c#を使用した非同期プログラミングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。