РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1061 of 1163 menu

Метод newFixedThreadPool

Метод newFixedThreadPool класса Executors создает пул потоков с фиксированным количеством потоков. В первом параметре мы передаем количество потоков в пуле. Задачи помещаются в очередь и выполняются по мере освобождения потоков. Если все потоки заняты, новые задачи ожидают в очереди. Потоки в таком пуле переиспользуются и не завершаются после выполнения задачи.

Синтаксис

Executors.newFixedThreadPool(int nThreads)

Пример

Давайте создадим пул из 2 потоков и отправим в него 3 задачи:

import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Main { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(2); for (int i = 1; i <= 3; i++) { int taskId = i; executor.execute(() -> { System.out.println("Task " + taskId + " started"); }); } executor.shutdown(); } }

Результат выполнения кода:

"Task 1 started" "Task 2 started" "Task 3 started"

Пример

Давайте получим результат выполнения задач через submit и Future:

import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class Main { public static void main(String[] args) throws Exception { ExecutorService executor = Executors.newFixedThreadPool(2); Future<Integer> future = executor.submit(() -> { return 2 + 3; }); int res = future.get(); System.out.println(res); executor.shutdown(); } }

Результат выполнения кода:

5

Смотрите также

  • класс Executors,
    который содержит фабричные методы для создания пулов
  • метод newCachedThreadPool,
    который создает пул с кэшированными потоками
  • метод newSingleThreadExecutor,
    который создает пул с одним потоком
  • метод shutdown,
    который завершает работу пула потоков
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить