Глядя на javadocs, он просто говорит
<T> Future<T> submit(Runnable task, T result)
Отправляет Runnable задачу для выполнения и возвращает Будущее, представляющее эту задачу. Метод Future get вернет данный результат после успешного завершения.
Параметры:
задача - задача представить
результат - результат для возврата
но что он делает с результатом? хранит ли что-нибудь там? он просто использует тип результата для указания типа Future<T>
?