异步调用之后,然后再获取结果。。。
一个线程用来获取结果,一个线程请求其他的接口。
CompletableFuture<String> completableFuture = new CompletableFuture<>();
new Thread(() -> {
String s;
try {
s = completableFuture.get(10000, TimeUnit.MILLISECONDS);
System.out.println("获取到了结果:" + s);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
try {
Thread.sleep(5000);
completableFuture.complete("你好");
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();