等待第三方异步方法完成

时间:2020-01-07 19:32:41

标签: java asynchronous

我想在执行第3方方法(异步运行)后运行一个方法:

public static void main(String[] args) {
    CompletableFuture<Void> task1 = request1();
    task1.thenRun(() -> System.out.println("should print after task1 is done!"));
}


public static CompletableFuture<Void> request1() {
   // call 3rd party method which is executed async
   lib.printData();
   return null;
}

但是,它不起作用,因为第三方方法lib.printData()不会返回CompletableFuture。只要执行了第三方方法,还有什么方法可以等待?实际上,我按照以下方式进行操作,但似乎并不正确:

public static void main(String[] args) {
    request1();
    // hoping that request will execute within 1 sec
    Thread.sleep(1000);
    System.out.println("should print after request1 is done!");
}

0 个答案:

没有答案