Sobes.tech
Назад к вопросам
Junior — Middle
56

Можете объяснить, что такое пул потоков и как он используется в Java?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Пул потоков (Thread Pool) — это набор заранее созданных потоков, которые можно переиспользовать для выполнения множества задач без необходимости создавать новый поток для каждой задачи. Это повышает производительность и снижает накладные расходы на создание и уничтожение потоков.

В Java пул потоков обычно создается с помощью класса ExecutorService. Задачи (Runnable или Callable) отправляются в пул, и свободные потоки берут их на выполнение.

Пример использования:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

ExecutorService executor = Executors.newFixedThreadPool(5); // пул из 5 потоков

executor.submit(() -> {
    System.out.println("Выполнение задачи в потоке " + Thread.currentThread().getName());
});

executor.shutdown();

Такой подход позволяет эффективно управлять ресурсами и контролировать количество одновременно работающих потоков.