Я хочу создать пул виртуальных потоков, работающих в отдельном пуле потоков Java.
Вот архитектура, которую я пытаюсь создать:

Это позволит мне создавать отдельные пулы для запуска пакетных задач в одной JVM и использовать преимущества виртуальных потоков с сопоставлением n:m для каждого пула. Итак, если у меня 12 ядер, я могу создать 2 пула потоков по 6 потоков. Каждый пул будет выполнять только определенную задачу. В каждом пуле будет N виртуальных потоков VirtualThreads. Итак, здесь сопоставление будет состоять из двух пулов {N VirtualThreads -> 6 потоков платформы}.
TLDR, я хочу ограничить количество PlatformThreads, на которых может работать пул виртуальных потоков.
Одна вещь, о которой я мог подумать, это создать пул потоков, и при передаче исполняемого файла внутри метода run я мог бы просто создавать виртуальные потоки, но не уверен, насколько это практично, и получу ли я раздел пула, который я хотеть. Другая проблема с этим подходом заключается в том, что виртуальные потоки будут выполняться только в одном потоке Java, поэтому сопоставление N:M не требуется.