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

Использовал ли ты интерфейс Callable для выполнения задач в Java?

Компании, где спрашивали
Joy Dev

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

sobes.tech AI

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

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

import java.util.concurrent.*;

public class CallableExample {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

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

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

        System.out.println("Задача запущена");

        Integer result = future.get(); // Ожидаем результат
        System.out.println("Результат: " + result);

        executor.shutdown();
    }
}

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