Вопрос проверяет понимание Executor Framework в Java для управления потоками и асинхронными задачами.
Executor Framework — это часть Java Concurrency API, которая предоставляет высокоуровневую абстракцию для управления потоками. Вместо того чтобы вручную создавать и запускать потоки с помощью new Thread(), вы используете пул потоков, который управляет жизненным циклом потоков и распределяет задачи.
execute(Runnable).submit(), shutdown() и поддержкой Future.import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(3);
for (int i = 0; i < 5; i++) {
executor.submit(() -> {
System.out.println("Task executed by: " + Thread.currentThread().getName());
});
}
executor.shutdown();
}
}В этом примере создается пул из 3 потоков, которые выполняют 5 задач. Потоки повторно используются, что снижает накладные расходы на создание потоков.
Executor Framework рекомендуется использовать в любом Java-приложении, где требуется асинхронное выполнение задач или управление несколькими потоками. Это улучшает производительность, упрощает код и снижает риск ошибок, связанных с ручным управлением потоками.