D
Поэтому, вроде бы, тредпул отношение к асинхронности имеет?
Size: a a a
D
AN
AN
ch
D
AN
AN
Э
AN
AN
D
val executor = newFixedThreadPool(4);
val futures =
range(0, 100)
.mapToObj(__ -> runAsync(() -> { /* Асинхронный код здесь */ }, executor))
.toArray(CompletableFuture[]::new);
getUninterruptibly(allOf(futures));
AN
D
getUninterruptibly(allOf(futures))
циклично вызывает каждый фьючерс (и дожидается завершения). Так что вроде бы все ок?ch
AN
ch
Э
AN
readSomethingFromFile(): Data
, то единственный способ достать его результат - это thread{readSomethingFromFile()}.run()
. Потому что должен быть тред, который периодически просыпается и проверяет, не прилетел ли результат. Можно выпендрится и сделать свой эветн луп, который будет делать это не для одной задачи, но сложно.AN
AN