Async-Await: 余分なスレッドを使用せずに応答性を強化する
よくある誤解は、async-await が新しいスレッドを作成するということです。 この記事では、追加のスレッドを必要とせずに、async-await がどのようにアプリケーションの応答性を向上させるかを説明します。
非同期待機メカニズム
Async-await はメソッドを 2 つの部分に巧みに分割します。
await
キーワードの前に実行されます。await
キーワードの後に実行されます。プロセス
await
に遭遇すると、メソッドは呼び出し元に戻り、非同期操作 (GetSomethingAsync
など) を待っていることを通知します。SynchronizationContext
.SynchronizationContext
はメッセージ ループ キューにメッセージを追加し、ポスト待機コードの準備ができたことを示します。await
の後に中断したところからメソッドの実行を再開します。UI のフリーズを防ぐ
このメソッドの分割により、長時間の非同期操作中であっても UI タスク (再描画、メッセージ処理) が確実に継続されます。
誤解を解く
async-await 自体はスレッドを作成しませんが、基礎となる非同期操作ではスレッドを使用する可能性があります。 ただし、このスレッドの使用法は、async-await の応答性の強化とは別のものです。
続きを読む
以上がAsync-Waitaitは、新しいスレッドを作成せずにアプリケーションの応答性をどのように改善しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。