Junior — Middle
61
Имел ли опыт использования пула потоков в проектах?
Ответ от нейросети
sobes.tech AI
Да, опыт использования пула потоков есть. Пул потоков — это механизм, который позволяет переиспользовать ограниченное количество потоков для выполнения множества задач, что повышает производительность и снижает накладные расходы на создание и уничтожение потоков.
В Java пул потоков можно создать с помощью класса ExecutorService. Например:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(3); // пул из 3 потоков
for (int i = 0; i < 5; i++) {
int taskId = i;
executor.submit(() -> {
System.out.println("Выполнение задачи " + taskId + " в потоке " + Thread.currentThread().getName());
// имитация работы
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
});
}
executor.shutdown();
}
}
Здесь создаётся пул из 3 потоков, которые последовательно выполняют 5 задач.