Junior — Middle
Роли интерфейсҳои Callable ва Runnable дар Java чист, ва кадом синф ин интерфейсҳоро иҷро мекунад?
sobes.tech AI
Ҷавоб аз AI
В Java интерфейсы Runnable и Callable используются для описания задач, которые могут выполняться в отдельных потоках.
- Runnable — представляет задачу, которая не возвращает результат и не выбрасывает проверяемых исключений. Метод
run()не возвращает значение. - Callable<V> — похож на Runnable, но может возвращать результат типа V и выбрасывать исключения. Метод
call()возвращает значение.
Класс Thread реализует интерфейс Runnable, что позволяет создавать потоки, выполняющие код из метода run().
Пример использования Callable с ExecutorService:
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Некоторая вычислительная задача
return 123;
};
Future<Integer> future = executor.submit(task);
Integer result = future.get();
executor.shutdown();