мой вопрос в том, существует ли в Java среда для управления и одновременного запуска задач с логическими зависимостями.
Моя задача такова: У меня есть много независимых задач (Let say A, B, C, D...), Они реализованы как Команды (как в Command pattern). Я хотел бы иметь своего исполнителя, который будет принимать все эти задачи и выполнять их параллельно. Задачи могут быть зависимыми друг от друга (например, я не могу запустить C, до запуска A), синхронно или асинхронно.
Я также хотел бы включить пользовательскую эвристику, чтобы повлиять на выполнение планировщика, например, если задачи A и B являются интенсивными с точки зрения ЦП, а C, скажем, имеет высокое потребление памяти, имеет смысл запускать A и C параллельно, а не для запуска A и B.
Прежде чем погрузиться в создание этого материала самостоятельно (я думаю о java.util.concurrent + ограничениях/правилах, основанных на аннотациях), мне было интересно, может ли кто-нибудь указать мне на какой-то проект, который мог бы удовлетворить мои потребности. Большое спасибо заранее