返回块,直到异步调用完成Java?

时间:2019-02-08 17:58:03

标签: java

public void method(){
   runAsyncFunction();
   return;
}

我想知道如何在method完成之前阻塞而不返回该函数(runAsyncFunction())。 Java 8有可能吗?我已经读过有关期货的文章,但我不太确定它们如何运作。

1 个答案:

答案 0 :(得分:0)

如果不想异步拥有一个异步函数,为什么要调用它呢?例如仅未来

请参见JavaDoc Future

public void method(){
   FutureTask<String> future=
   new FutureTask<String>(new Callable<String>() {
     public String call() {
       return searcher.search(target);
   }});
   executor.execute(future);
   while(!future.isDone()){
       Thread.sleep(100);
   }
   return;
}