Una fibra es un hilo ligero que utiliza la multitarea cooperativa en lugar de la multitarea preventiva. Una fibra en ejecución debe "ceder" explícitamente para permitir que se ejecute otra fibra, lo que hace que su implementación sea mucho más fácil que los hilos del núcleo o del usuario.
Una corutina es un componente que generaliza una subrutina para permitir múltiples puntos de entrada para suspender y reanudar la ejecución en ciertos lugares. A diferencia de las subrutinas, las corutinas pueden salir llamando a otras corutinas, que luego pueden volver al punto en el que fueron invocadas en la rutina original.
Un hilo verde es un hilo programado por una máquina virtual (VM) en lugar de hacerlo de forma nativa por el sistema operativo subyacente. Los subprocesos verdes emulan entornos de subprocesos múltiples sin depender de las capacidades nativas del sistema operativo, y se administran en el espacio del usuario en lugar del espacio del núcleo, lo que les permite trabajar en entornos que no tienen soporte de subprocesos nativos.