如何在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

回到顶部