gpt4 book ai didi

java - 使用阻塞 API 时的 Java 异步编程

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:52 25 4
gpt4 key购买 nike

<分区>

我正在开发一个使用某些阻塞 API 的 Java 项目。

我想使用异步编程和回调,这样我就不必在等待结果时阻塞。我研究过使用 Java Future,但我认为我可以使用它的唯一方法是调用将阻塞的 get() 方法。我也愿意使用其他方式进行异步编程。

我当前的代码如下所示。

Object res = blockingAPI();
sendToClient(res);

如果我要使用 Future,我会这样做。但我的理解是 get() 是阻塞的。

private final int THREADS = Runtime.getRuntime().availableProcessors();
private ExecutorService executor = Executors.newFixedThreadPool(THREADS);

public void invokeApi() {
Future<Object> future = executor.submit(new Callable<Object>() {
public Object call() {
return result;
}
});

Object result = future.get(5, TimeUnit.SECONDS)
}

我如何实现这一点,以便 get() 的功能基本上由回调处理,当结果可用时自动调用该回调?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com