Я пытаюсь реализовать проект, который использует ThreadSafeClientConnManager
, с 20 как максимальные потоки в пуле. Теперь, в зависимости от трафика, я хочу изменить количество потоков во время выполнения. Можно ли это сделать?Изменение количества потоков в диспетчере соединений в java во время выполнения
У меня есть одно решение, которое может работать, у меня есть новый набор threadpool, который я инициализирую при изменении максимальных соединений, а затем заменяю существующий. Вид буферного переключателя. но я не уверен, что это оптимальное решение.
Можете ли вы показать часть своего кода, показывающую, как вы обмениваетесь в новом пуле? – Gray
Почему бы вам не дать максимум, максимальное количество потоков? Неработающие потоки не дают больших накладных расходов. –
Причина в том, что максимальное соединение обычно является коэффициентом умножения максимальных соединений на хост. Таким образом, если я даю max как максимальным для каждого хоста, так и максимальным соединениям одинаковым, возможно, что одно соединение может потреблять все потоки в моем пуле потоков. –