如何在Java中实现调用B接口时监听A接口执行状态?
Java
想实现调用B接口时,监听A接口是否已经执行完成
调用B接口时,能监听到A有没有执行完
回答:
最简单的方法,一个线程,先调用 A,再调用 B
如果是从一个线程里开始的异步,调用 A 返回个 Future,调用 B 的时候检查 Future 状态
如果不是一个线程里开始的,做一个全局变更标记一下
如果不是一个程序的…算了其实都一样
回答:
我觉得Future
接口可以满足你的需求。
举例:
AtomicReference<Future<String>> ref = new AtomicReference<>();
void start(){
CompletableFuture<String> aF = CompletableFuture.supplyAsync(this::a);
ref.set( aF);
}
String a(){
return "a ret";
}
void b() throws ExecutionException, InterruptedException {
Future<String> aF = ref.get();
// 是否执行完?
boolean done = aF.isDone();
// 获取a接口的返回结果
if (done) {
String ret = aF.get();
}
}
以上是 如何在Java中实现调用B接口时监听A接口执行状态? 的全部内容, 来源链接: utcz.com/p/945450.html