Comprendre l'impact d'Async-Await sur la réactivité des applications
Async-await améliore la réactivité des applications sans créer de nouveaux threads en divisant intelligemment les méthodes en deux parties :
Partie 1 : Exécution de code jusqu'au mot-clé await
, y compris l'appel de méthode asynchrone (par exemple, GetSomethingAsync
).
Partie 2 : Exécution du code après le mot-clé await
.
Le processus :
-
Exécution de la première partie : La partie initiale s'exécute dans le gestionnaire d'événements (sur le thread principal) et lance l'opération asynchrone.
-
Opération asynchrone :
GetSomethingAsync
commence sa tâche asynchrone, indiquant une heure d'achèvement future.
-
Retour au fil de discussion principal : Le mot-clé
await
redonne le contrôle à la boucle de messages.
-
Réactivité de l'interface utilisateur : L'interface utilisateur reste réactive, permettant les interactions de l'utilisateur telles que le mouvement et le redessinage des fenêtres.
-
Signal d'achèvement : Une fois
GetSomethingAsync
terminé, il signale la boucle de message.
-
Exécution de la partie 2 : La boucle de messages reprend l'exécution de la méthode au point
await
, en continuant avec la partie 2.
Aspects cruciaux :
- La boucle de messages est essentielle pour maintenir la réactivité de l'interface utilisateur.
- Le fractionnement de la méthode Async-await permet à la boucle de messages de traiter d'autres événements en attendant des tâches asynchrones.
- Les opérations d'E/S asynchrones ne créent généralement pas de threads, bien que les mécanismes sous-jacents puissent différer.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn