Back to questions
Middle
427
Что такое интерфейс Callable в Java?
Answer from AI
sobes.tech AI
Интерфейс Callable в Java представляет собой задачу, которая может быть выполнена в отдельном потоке и возвращает результат. В отличие от Runnable, который не возвращает значения и не может выбрасывать проверяемые исключения, Callable<V> возвращает объект типа V и может выбрасывать исключения.
Основные особенности:
- Метод
call()возвращает результат выполнения. - Позволяет использовать с
ExecutorServiceдля асинхронного выполнения задач и получения результата черезFuture.
Пример использования:
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 42;
};
Future<Integer> future = executor.submit(task);
// Можно выполнять другие операции
Integer result = future.get(); // блокирует, пока задача не завершится
System.out.println("Результат: " + result);
executor.shutdown();
}
}