Sobes.tech
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 задач.