Назад к вопросам
СБЕР
Junior — Middle
62
Каким образом можно организовать отправку задач и ожидание их завершения с использованием ThreadPoolExecutor?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для организации отправки задач и ожидания их завершения с использованием ThreadPoolExecutor в Java можно использовать следующий подход:
- Создать экземпляр ThreadPoolExecutor через Executors.newFixedThreadPool или другой фабричный метод.
- Отправить задачи на выполнение с помощью метода submit(), который возвращает объект Future.
- Для ожидания завершения задачи вызвать метод 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.