greenlet - Programmation simultanée légère en cours Le package «greenlet» est un spin-off de Stackless, une version de CPython qui prend en charge les micro-threads appelés «tasklets».Les tasklets s'exécutent de manière pseudo-simultanée (généralement dans un seul ou plusieurs threads au niveau du système d'exploitation) et sont synchronisés avec les échanges de données sur les «canaux».Un «greenlet», d'autre part, est une notion encore plus primitive de micro-thread sans programmation implicite;coroutines, en d'autres termes.Ceci est utile lorsque vous souhaitez contrôler exactement quand votre code s'exécute.Vous pouvez créer des micro-threads programmés personnalisés au-dessus de greenlet;cependant, il semble que les greenlets soient utiles en tant que moyen de créer des structures avancées de contrôle des flux.Par exemple, nous pouvons recréer des générateurs;la différence avec les propres générateurs de Python est que nos générateurs peuvent appeler des fonctions imbriquées et les fonctions imbriquées peuvent également donner des valeurs.(De plus, vous n'avez pas besoin d'un mot clé "yield". Voir l'exemple dans test / test_generator.py) .... Les greenlets sont fournis comme module d'extension C pour l'interpréteur normal non modifié.Code source :
greenlet