Conozco los principios básicos sobre el uso de corrutinas como base y la implementación de un programador de juguetes. Pero supongo que es una visión simplificada en conjunto sobre los planificadores asincrónicos. Hay un conjunto completo de agujeros que faltan en mis pensamientos.¿Cómo implementar un programador de fibra práctico?
¿Cómo evitar que la CPU ejecute un programador que se está ejecutando inactivo/esperando? Algunas fibras simplemente duermen, otras esperan la entrada del sistema operativo.
libtask se ve bien, pero no parece permitir la programación explícita del usuario de la tarea (no pude encontrar una API para dar la CPU a una tarea en particular).Creo que boost :: context se ve más general, y hay una capa en la parte superior llamada boost :: fiber que implementa los bloqueos entre diferentes tareas – lurscher