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

В каких случаях используется интерфейс Callable в программировании?

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

sobes.tech AI

Интерфейс Callable в Java используется, когда нужно выполнить задачу, которая возвращает результат и может выбросить проверяемое исключение. В отличие от Runnable, который не возвращает значения и не может выбрасывать проверяемые исключения, Callable позволяет:

  • Запустить задачу в отдельном потоке и получить результат через Future.
  • Обрабатывать исключения, которые могут возникнуть во время выполнения.

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

import java.util.concurrent.*;

Callable<Integer> task = () -> {
    // Некоторая вычислительная задача
    return 42;
};

ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> future = executor.submit(task);

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

Таким образом, Callable подходит для асинхронных задач, где важен результат и обработка ошибок.