Sobes.tech
Junior — Middle
70

Java-да Callable және Runnable интерфейстерінің рөлі қандай, және оларды қандай класс жүзеге асырады?

AI-дан жауап

sobes.tech 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();