день и за раз обрабатывает «100к тяжелых запросов» (назовем это так), плодить 100к потоков на каждую задачу неэффективно, вот можно было бы это сделать через очередь какую-то, например, за раз обрабатывать N задач, остальные в очереди, как потоки освободились, взять задачу из очереди и выполнить ее. Еще можно использовать это в связке с CachedThreadPool. Есть ли в Java какие-то готовые реализации подобного алгоритма или же это нужно самостоятельно реализовывать?
Есть разные пулы потоков, не обязательно именно cached брать В общем ExecutorService тут нормально подходит, а конкретные параметры с числом потоков, временем их жизни можно подобрать экспериментально
Ну да, ExecutorService и планировал использовать, только вот есть готовые инструменты для подобного случая? Или это надо самому реализовывать? Просто будет обидно если окажется, что изобрел свой велосипед)
Ты призвал меня, смертный
Обсуждают сегодня