Sobes.tech
Junior — Middle
101

Hoe organiseer je het verzenden van taken en het wachten op hun voltooiing met behulp van ThreadPoolExecutor?

Bedrijven waar gevraagd werd
СБЕРСБЕР

Antwoord van AI

sobes.tech AI

Для организации отправки задач и ожидания их завершения с использованием ThreadPoolExecutor в Java можно использовать следующий подход:

  1. Создать экземпляр ThreadPoolExecutor через Executors.newFixedThreadPool или другой фабричный метод.
  2. Отправить задачи на выполнение с помощью метода submit(), который возвращает объект Future.
  3. Для ожидания завершения задачи вызвать метод get() у объекта Future.

Пример:

import java.util.concurrent.*;

public class ThreadPoolExample {
    public static void main(String[] args) throws InterruptedException, ExecutionException {
        ExecutorService executor = Executors.newFixedThreadPool(3);

        Callable<String> task = () -> {
            Thread.sleep(1000);
            return "Задача выполнена";
        };

        Future<String> future = executor.submit(task);

        // Ожидаем завершения задачи и получаем результат
        String result = future.get();
        System.out.println(result);

        executor.shutdown();
    }
}

Таким образом, можно отправлять несколько задач и по необходимости ожидать их завершения, используя объекты Future.