Короткий ответ - нет.Однако, если вы хотите проверить, что все выполнено успешно, Future.get () сообщит вам, было ли исключение ExecutionException (выбрасывая его).Поэтому я обычно называю это, даже если нет «результата», который меня волнует.YMMV в зависимости от того, как вы делаете обработку ошибок.
Как упоминает Том Андерсон, Callable<Void>
- это возможность напомнить людям, что «результата» нет.Но, честно говоря, мои Callables, предназначенные для исполнителя, почти всегда возвращают себя, так что вы можете действительно проверить результаты дважды, если это будет необходимо.например (несколько преувеличено)
public class LongCalculation implements Callable<LongCalculation> {
public double getResult() { ... }
public SomeEnum getStatus() { ... } // e.g. FAILED, SUCCESS, CANCELLED
public List<String> getAnythingWeirdThatHappenned() { ... }
}