mi pregunta es si existe un marco en Java para administrar y ejecutar simultáneamente tareas que tienen dependencias lógicas.Java Framework para la administración de tareas
Mi tarea es la siguiente: Tengo un montón de tareas independientes (digamos A, B, C, D ...), se implementan como comandos (como en el patrón de comando). Me gustaría tener un tipo de ejecutor que acepte todas estas tareas y las ejecute de forma paralela. Las tareas pueden ser dependientes una de otra (por ejemplo, no puedo ejecutar C, antes de ejecutar A), sincrónico o asincrónico.
También me gustaría incorporar la heurística personalizada para afectar la ejecución del planificador, por ejemplo, si las tareas A y B requieren mucha CPU y C tiene, por ejemplo, un consumo de memoria alto, tiene sentido ejecutar A y C en paralelo, en lugar de ejecutar A y B.
Antes de meterme en la creación de estas cosas por mi cuenta (estoy pensando en java.util.concurrent + restricciones/reglas basadas en anotaciones), me preguntaba si alguien podría señalarme algún proyecto que pueda satisfacer mis necesidades Muchas gracias de antemano
Echa un vistazo a Fork/Join? –
Me pregunto si las tareas se reutilizan entre sí resultados o no. Si son unidades de trabajo bastante independientes con una secuencia predefinida, la programación y la heurística personalizada podrían resolverse con un ejecutor de agrupaciones de hilos personalizado bastante simple. –
Sí, también estoy pensando en usar los Servicios de Ejecutor de java.util.concurrent, las tareas parecen ser independientes en términos de reutilizar los resultados de cada uno. Debería echar un vistazo a tenedor/unirse como Viktor Klang amablemente propuso también. –