Programmation asynchrone et multi-étanches: deux méthodes qui se complètent
De nombreux développeurs ont initialement assimilé la programmation asynchrone à plusieurs threads, pensant que ce sont les échanges qui allouent les tâches à plusieurs processeurs. Cependant, si vous étudiez attentivement, vous constaterez qu'il existe des différences légères mais vitales entre les deux.
Méthode asynchrone: non-bloquant et lié au contexte
La conception de la méthode asynchrone est utilisée pour les opérations non bloquantes. L'expression "Await" n'arrêtera pas le thread actuel pendant l'exécution de la tâche. Au lieu de cela, il a enregistré la méthode restante comme continuation et renvoie le contrôle à l'appelant de la méthode asynchrone.
Fait intéressant, les méthodes asynchrones n'ont pas besoin de créer des threads supplémentaires. La méthode asynchrone ne nécessite pas plusieurs threads car ils s'exécutent dans le contexte de synchronisation actuel et n'utilisent que le temps de thread pendant l'activité. Bien que "tâche.run" puisse désinstaller le travail dense du CPU vers le thread d'arrière-plan, il est invalide en attendant le résultat.Multi -thread: travail multi-thread
En revanche, les multiples-tirs impliquent des tâches allouées entre plusieurs threads, et chaque thread a son propre processeur spécial. Les tâches de traitement asynchrones, tandis que les fils se concentrent sur les fils de travail pour ces tâches. Activités: petit-déjeuner asynchrone
Imaginez préparer le petit déjeuner:
Synchrones:
Frais d'abord les œufs, puis cuire le pain.Filetage unique asynchrone:
L'exécution de cette méthode peut être effectuée en arrière-plan sans retarder l'opération de suivi. Il obtient le contenu du site Web, attend de terminer, puis affiche la longueur.
Améliorez la compréhension du flux de travail
La clé de ce processus de travail est de comprendre le chemin de "attendre":Essentiellement, la programmation asynchrone vous permet d'exécuter simultanément des tâches sans blocage ni création de threads supplémentaires. Il s'agit d'un outil puissant pour optimiser les performances et maintenir la capacité de réponse.
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!