При создании объекта RealThreadPool Executor в Java вам необходимо передать аргумент, описывающий количество потоков, которые Исполнитель может выполнять одновременно. Я строю класс обслуживания, ответственным за обработку больших наборов телефонных номеров. Для каждого номера телефона мне нужно выполнить веб-сервис (это мое узкое место), а затем сохранить ответ в хэш-карте.
Чтобы сделать это узкое место менее вредным для производительности моего сервиса, я решил создать класс Worker, который извлекает необработанные элементы и обрабатывает их. Рабочий класс реализует интерфейс Runnable, и я запускаю Workers с помощью Executor.
Число рабочих, которые могут запускаться в одно и то же время, зависит от размера Executor FixedThreadPool. Каков безопасный размер для ThreadPool? Что может произойти, когда я создаю FixedTheradPool с некоторым большим числом в качестве аргумента?