Aujourd'hui, je vais vous expliquer les avantages et les inconvénients de l'asyncio. Pour apprendre les IO asynchrones, vous devez connaître les coroutines et l'asyncio. Alors, qu'est-ce que l'asyncio exactement ? Comment utiliser asyncio ? Ci-dessous je vais vous donner les réponses une par une
Avantages
Exceptionnellement utile pour les tâches d'E/S asynchrones
ProgrammationModèle Plus simple et moins fastidieux :
Utilisez asyncio pour obtenir une boucle d'événements
Ensuite, insérez des éléments (coroutines) dans cette boucle
Le système d'exploitation voit que c'est toujours mono-thread, mais d'un point de vue macro, il s'agit d'une "concurrence multiple" (chaque langage est presque comme ça : implémenter un modèle multi-thread en mode utilisateur)
Inconvénients
L'écologie est immature (bien qu'il existe des aio-libs), ce serait formidable si les bibliothèques comme les requêtes avaient également des implémentations correspondantes (la popularité doit être élevée)
Il y a un principe : une application doit être d'avant en arrière Asynchrone , ce qui est fastidieux pour de nombreux projets existants
Comparaison avec gevent + Python 2
De nombreux projets sont basés sur Python 2, et l'effet de l'utilisation de gevent est évident
Le seul souci c'est : gevent aura beaucoup de patchs (bibliothèque standard de hack), et ce qu'on voit c'est une boîte noire, donc on s'inquiète forcément
gevent n'est pas forcément plus efficace qu'asyncio + Async def est inefficace
Comment utiliser
asyncio comme notre framework (je préfère ce que la bibliothèque standard a), async def/await comme méthodes de conception de base
Utilisez différentes bibliothèques dans aio-libs (cela doit être asynchrone du début à la fin !)
Je crois que vous maîtrisez la méthode après avoir lu ces cas, plus excitants Veuillez faire attention aux autres articles connexes sur php site chinois !
Lecture connexe :
Comment gérer le désalignement des pages Web CSS
Comment utiliser CSS3 Créer des effets d'icône
Comment utiliser Canvas pour réaliser l'interaction entre la balle et la souris
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!