Sobes.tech
Назад к вопросам
Junior — Middle
61

Какие методы объекта применимы для реализации конкурентного выполнения задач?

Компании, где спрашивали
Передовые Платежные Решения

Ответ от нейросети

sobes.tech AI

В Java для реализации конкурентного выполнения задач часто используются методы из пакета java.util.concurrent и класса Thread. Основные методы и подходы:

  • Thread.start() — запускает новый поток.
  • ExecutorService.submit() — отправляет задачу на выполнение и возвращает Future.
  • Future.get() — ожидает завершения задачи и получает результат.
  • Callable<V> — интерфейс для задач, возвращающих результат.
  • CompletableFuture — для асинхронного программирования с возможностью комбинировать задачи.

Пример использования ExecutorService:

ExecutorService executor = Executors.newFixedThreadPool(2);
Future<Integer> future = executor.submit(() -> {
    // Некоторая вычислительная задача
    return 42;
});

try {
    Integer result = future.get();
    System.out.println("Результат: " + result);
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
}
executor.shutdown();

Таким образом, методы submit(), get(), start() и инструменты из java.util.concurrent — основные для конкурентного выполнения.