Sobes.tech
Junior — Middle

Java'da Callable ve Runnable arayüzlerinin rolü nedir ve bu arayüzleri hangi sınıf uygular?

sobes.tech yapay zeka

AI'dan gelen yanıt

В 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();