greenlet

Sitio web

  • Libre
  • Mac
  • Windows
  • Linux
  • Python
  • C++
Description

greenlet: programación concurrente liviana en el proceso

El paquete "greenlet" es un spin-off de Stackless, una versión de CPython que admite micro-hilos llamados "tasklets".
Los Tasklets se ejecutan de forma pseudo-concurrente (normalmente en una o varias hebras a nivel del sistema operativo) y se sincronizan con los intercambios de datos en "canales".

Un "greenlet", por otro lado, es una noción aún más primitiva de microhilos sin planificación implícita; coroutines, en otras palabras. Esto es útil cuando desea controlar exactamente cuándo se ejecuta su código. Puedes construir micro-hilos programados personalizados encima de greenlet; sin embargo, parece que los greenlets son útiles por sí solos como una forma de hacer estructuras avanzadas de flujo de control. Por ejemplo, podemos recrear generadores; La diferencia con los generadores propios de Python es que nuestros generadores pueden llamar a funciones anidadas y las funciones anidadas también pueden generar valores. (Además, no necesita una palabra clave de "rendimiento". Vea el ejemplo en test / test_generator.py) ....

Los Greenlets se proporcionan como un módulo de extensión C para el intérprete normal no modificado.

Código fuente: https://github.com/python-greenlet/greenlet

Categorías

Alternativas