Los llamados “hilos sin peso” también se llaman microthreads e hilos verdes, entre otros nombres. Son una forma de multitarea cooperativa que esencialmente le permite ejecutar múltiples funciones simultáneamente en un solo programa.
Si desea crear una implementación de “subproceso sin peso”, debe hacer dos cosas:
- Escribe un planificador
- Averigüe la construcción de respaldo para los “hilos” que desea ejecutar. En Python, estos pueden ser funciones, clases, módulos y posiblemente otras cosas.
http://www.ibm.com/developerwork… presenta una implementación de muestra y una explicación más larga de lo que son los “hilos sin peso”. El primer programa de muestra es conciso y transmite la idea de manera efectiva.
- ¿Cómo es el futuro del aprendizaje profundo?
- ¿Cuáles son sus experiencias como consultor en ciencia de datos?
- ¿Google está bajando su barra de contratación para ingenieros?
- ¿Mac OS reemplazará a Windows en el mundo corporativo?
- ¿Quiénes son algunos de los mejores consultores de raspado de datos?
Stackless Python contiene lo que podría decirse que es la implementación Python más conocida de hilos verdes: http://www.stackless.com/.
Un punto importante sobre los hilos verdes en CPython es que * no * se saltan el GIL. Todavía puede ejecutar solo un subproceso computacional en un momento dado, y no puede ejecutar varios subprocesos verdes al mismo tiempo. Se ejecuta un hilo verde, luego otro, luego otro.