Как обрабатывать потоки CompletableFuture в циклах - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь вызвать асинхронный поток внутри цикла.Он должен сломаться после одной итерации, поэтому я использовал только один экземпляр CompletableFuture.Меня беспокоит другой случай, когда цикл переходит в следующую итерацию.Что происходит потом?

Код выглядит следующим образом.

List<Long> Value = newArrayList();
CompletableFuture<String> future = null;
Boolean done = true;
while(done) {

 future = completableFunction();
 /**
  * Some code here
  *
  */
  Value = someFunction();
  if(!value.isEmtpy()) {
    done = false;
  }
} 

String ans = future.get();

Определение completableFunction выглядит следующим образом

CompletableFuture<String> completableFunction()
{
  String result;
  /*
   * some code here
   *
   */
   CompletableFuture.completedFuture(result);
}

Может кто-нибудь помочь мне, будет ли это проблематично, если циклпереходит в следующую итерацию?если да, то как это возможно?

...