Чем отличаются два интерфейса для реализации задач Runnable и Callable? Какая необходимость иметь оба, если Callable может делать все, что делает Runnable?
Интерфейс Callable похож на Runnable, поскольку оба они предназначены для классов, экземпляры которых потенциально выполняются другим потоком. Однако Runnable не возвращает результат и не может выставить проверенное исключение.
Информация взята из документации - ссылка.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей