Пул потоков с несколькими ограничениями

Мне нужен пул потоков, который предоставляет максимум X потоков для обработки задач, пока нет проблем. Однако каждая отправленная задача может указывать конкретную цель ввода-вывода (например, Y).

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

Как мне этого добиться?

5
задан Tudor 2 February 2012 в 21:55
поделиться