Вопрос проверяет понимание концепции конкурентного программирования в Java и знание основных механизмов для его реализации, что важно для создания многопоточных приложений.
Конкурентное программирование (concurrency) в Java — это подход, при котором несколько задач выполняются одновременно, используя потоки (threads). Это позволяет эффективно использовать ресурсы процессора, особенно на многоядерных системах, и создавать отзывчивые приложения, например, веб-серверы или GUI-программы.
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ConcurrencyExample {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
Runnable task = () -> {
System.out.println(Thread.currentThread().getName() + " выполняет задачу");
};
executor.submit(task);
executor.submit(task);
executor.shutdown();
}
}В этом примере создается пул из двух потоков, и две задачи выполняются конкурентно.
Конкурентное программирование в Java необходимо для создания производительных и отзывчивых приложений. Используйте механизмы из пакета java.util.concurrent для надежной и эффективной работы с потоками, избегая низкоуровневых методов, таких как Thread.stop().