Согласно JavaDocs , метод get()
ожидает, если необходимо, чтобы вычисление завершилось, и затем извлекает его результат.
Если вы хотите получить результат после завершения задачи, используйте функцию isDone()
, которая возвращает true
, если задача выполнена (обычно, исключительно и т. д.).И затем вызовите get()
.
Кроме того, вы можете использовать функцию get(long timeout, TimeUnit unit)
для ожидания только в течение заданного периода времени.В этом случае основной поток автоматически разблокируется, если время истекло или задание завершено.