У меня есть процесс, который делегирует асинхронные задачи пулу потоков. Мне нужно обеспечить выполнение определенных задач по порядку. Так, например,
Задачи приходят в порядок
Задачи a1, b1, c1, d1, e1, a2, a3, b2, f1
Задачи могут выполняться в любом порядке, за исключением случаев, когда существует естественная зависимость, поэтому a1, a2, a3 должны обрабатываться в этом порядке либо распределением на один поток, либо блокировкой их до тех пор, пока я не узнаю, что предыдущая задача была завершена.
В настоящее время он не использует пакет Java Concurrency, но я рассматриваю возможность изменения, чтобы воспользоваться поддержкой управления потоками.
Есть ли у кого-нибудь подобное решение или предложения о том, как достичь этого?