C ++ maestro / trabajador

Estoy buscando una biblioteca maestra / trabajadora de C ++ multiplataforma o una biblioteca de cola de trabajo. La idea general es que mi aplicación crearía algún tipo de objetos de Tarea o Trabajo, los pasaría al maestro de trabajo o la cola de trabajo, que a su vez ejecutaría el trabajo en procesos o subprocesos separados. Para proporcionar un poco de contexto, la aplicación es un extractor de CD, y las tareas que deseo paralelizar son cosas como "rip track", "codificar WAV a Mp3", etc.

Mis requerimientos básicos son:

Debe soportar un número configurable de tareas concurrentes.Debe admitir dependencias entre tareas, de modo que las tareas no se ejecuten hasta que todas las tareas de las que dependen se hayan completado.Debo permitir la cancelación de tareas (o al menos no me impide codificar la cancelación en mis propias tareas).Debe permitir la notificación de información de estado y progreso al hilo principal de la aplicación.Debe funcionar en Windows, Mac OS X y Linux.Debe ser de código abierto.

Sería especialmente bueno si esta biblioteca también:

Integrado con el mecanismo de señal / ranura de Qt.Apoyado el uso de hiloso Procesos para la ejecución de tareas.

A modo de analogía, estoy buscando algo similar a ExecutorService de Java o alguna otra biblioteca similar de agrupación de hilos, pero en C ++ multiplataforma. ¿Alguien sabe de tal bestia?

¡Gracias!

Respuestas a la pregunta(6)

Su respuesta a la pregunta