Existe um pool de threads pronto para uso com várias filas (que garantem o processamento serial de cada fila)?

Entre todas as minhas tarefas, tenho algumas que devem ser processadas em série (elas nunca podem ser executadas simultaneamente e devem ser processadas em ordem).

Consegui que criar um pool de threads separado com um único thread para cada grupo de tarefas que devem ser executadas em série. Funciona, mas não tenho os recursos para isso. Como não controlo o número de grupos, posso acabar com um número ridículo de threads em execução simultaneamente.

Existe alguma maneira de conseguir isso com um único pool de threads? Existe um pool de encadeamentos com várias filas de bloqueio onde eu poderia garantir a execução serial de cada fila?

EDITAR:

Apenas enfatizando o que disse no meu segundo parágrafo: resolvi isso com um único pool de threads encadeados para cada grupo de tarefas que devem ser executadas em série. Não posso continuar com esta solução, no entanto. Existem grupos demais e eu não posso ter todos esses tópicos.

Eu encontrei essa pergunta relacionada, mas como não é muito recente, ainda criei a minha. Tudo o que estou fazendo é tentar evitar reinventar a roda, mas parece que não tenho escolha.

O Java possui um conjunto de encadeamentos de várias filas indexáveis?

questionAnswers(7)

yourAnswerToTheQuestion