Чем отличаются два интерфейса Runnable и Callable?

1650
  • Интерфейс Runnable появился в Java 1.0, а интерфейс Callable был введен в Java 5.0 в составе библиотеки java.util.concurrent;
  • Классы, реализующие интерфейс Runnable для выполнения задачи должны реализовывать метод run(). Классы, реализующие интерфейс Callable — метод call();
  • Метод Runnable.run() не возвращает никакого значения, Callable.call() возвращает объект Future, который может содержать результат вычислений;
  • Метод run() не может выбрасывать проверяемые исключения, в то время как метод call() может.