一般的な誤解に反して、Async/awaitは新しいスレッドを作成しません。 代わりに、協調的なマルチタスクを採用して、アプリケーションの応答性を大幅に改善します。
どのようにasync/await works
コンパイラは、Async/を使用して2つのセクションに待ち望んでいる方法を巧みに分割します。
await
キーワードに続くコード。await
パート1の実行:メソッドは、
ステートメントにヒットするまで実行されます。 非同期操作(例えば、await
GetSomethingAsync()
非同期操作の完了を信号するように通知されます。 コントロールはメッセージループに戻り、他のタスクを処理できるようにします。
Task
SynchronizationContext
実行の再開:SynchronizationContext
SynchronizationContext
応答性の向上await
async/awaitは、スレッドの作成ではなくを介して協力的なマルチタスクを利用しています。
非同期操作は本質的に非ブロッキングであり、メッセージループアクティビティを維持していますAsync/async/async/awaintがアプリケーションの応答性とユーザーエクスペリエンスを大幅に向上させる。
以上がAsync-Waitaitは、追加のスレッドを使用せずにアプリの応答性をどのように改善しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。