Sobes.tech
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 полезен, когда нужно ограничить число одновременно выполняемых задач и избежать создания слишком большого количества потоков.