¡Esta es una revisión vieja del documento!
Un greenlet es un micro-thread sin “organización implícita”, esto significa que contraolas exactamente cuando se está ejecutando y adecuar su uso.
El uso de greenlets es parecido al de una pila de capas. La más baja es la función inicial que fue llamada, y las demás son greenlets actualmente pausados. Se irá indicando cuando se quiere trabajar con uno o con otro (switching).
Cuando se crea un greenlet se inicia una pila vacía y se ejecuta en ella una función específica.
Los greenlet pueden morir al acabar su ejecución o debido a una excepción no controlada.
La salida del siguiente código es: 12, 56, 34
from greenlet import greenlet def test1(): print 12 gr2.switch() print 34 def test2(): print 56 gr1.switch() print 78 gr1 = greenlet(test1) gr2 = greenlet(test2) gr1.switch()