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