gpt4 book ai didi

java - 如何从 Callable 返回中期结果?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:20 26 4
gpt4 key购买 nike

我使用 ExecutorService 执行了 Callable 对象。

如何从此可调用函数返回中间结果?

我知道 Swing 有 javax.swing.SwingWorker#publish(results) 但我不使用 Swing。

最佳答案

有几种方法可以做到这一点。您可以通过回调来完成,也可以通过队列来完成。

下面是一个使用回调执行此操作的示例:

public static interface Callback<T> {
public void on(T event);
}

然后,回调的实现对正在进行的事件执行某些操作:

final Callback<String> callback = new Callback<String>() {
public void on(String event) {
System.out.println(event);
}
};

现在您可以在池中使用回调:

Future<String> submit = pool.submit(new Callable<String>() {
public String call() throws Exception {
for(int i = 0; i < 10; i++) {
callback.on("process " + i);
}
return "done";
}
});

关于java - 如何从 Callable 返回中期结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947738/

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