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 можно использовать следующий подход:
- Создать экземпляр 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.