Мне нужен пул потоков, который обеспечивает максимум X потоков для обработки задач, пока без проблем. Однако каждая отправленная задача может указывать цель ввода-вывода, которая конкретно ограничена (скажем, Y).
Таким образом, отправленная IOTask возвращает цель «google.com» с ограничением 4 (Y), а пул имеет глобальное ограничение 16 (X). Я хочу отправить 10 google.com-задач, из которых только 4 обрабатываются параллельно, а в пуле есть 12 свободных потоков для других задач.
Как я могу этого добиться?