Maison  >  Article  >  interface Web  >  Avantages et inconvénients de l'asyncio

Avantages et inconvénients de l'asyncio

php中世界最好的语言
php中世界最好的语言original
2017-11-27 15:05:493476parcourir

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!

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