Runnable ничего не возвращает, и Future должен что-то возвращать, поэтому этот метод позволяет заранее определить результат возвращаемого будущего.
Если вы не хотите возвращать что-либо, вы можете вернуть null, и я думаю, что тип Void
существует для выражения такого рода вещей.
Future<Void> myFuture = executor.submit(myTask, null);
Вы знаете, myFuture.get()
вернет null
в этом случае, но только после того, как задача будет выполнена, так что вы будете использовать ее для ожидания и выброса любого исключения, которое было сгенерировано в задаче.
* * 1010