Back to questions
Junior — Middle
79
Можете объяснить принцип работы FixedThreadPool и чем он отличается от других потоковых пулов?
Companies where asked
А Деньги
Answer from AI
sobes.tech AI
FixedThreadPool — это тип пула потоков в Java, который создаёт фиксированное количество потоков и переиспользует их для выполнения задач. При создании FixedThreadPool указывается фиксированное число потоков, например:
ExecutorService executor = Executors.newFixedThreadPool(5);
Принцип работы:
- Если приходит новая задача и есть свободный поток — задача сразу выполняется.
- Если все потоки заняты, задача помещается в очередь и ждёт своей очереди.
- Потоки не создаются сверх заданного количества, что помогает контролировать использование ресурсов.
Отличия от других пулов:
- CachedThreadPool создаёт новые потоки по необходимости и удаляет неиспользуемые, число потоков не фиксировано.
- SingleThreadExecutor содержит только один поток, задачи выполняются последовательно.
- ScheduledThreadPool предназначен для отложенного или периодического выполнения задач.
FixedThreadPool полезен, когда нужно ограничить число одновременно выполняемых задач и избежать создания слишком большого количества потоков.