Я понял разницу между интерфейсом Runnable и Callable в Java. Из Java 1.5 дополнительные функции были добавлены в интерфейс Runnable и были вызваны Callable для обеспечения обратной совместимости.
Мои вопросы теперь в том, что у нас есть интерфейс Callable, мы всегда будем использовать это? Каковы варианты использования Callable и использования Runnable?
(Это - хорошая статья о том, какие различия между ними)