我的问题是如何使用Completable Future。
我有一个实现Callable的类。
public class Executor implements Callable<Collection>
较早用于-
service.submit(collectorService);
这将返回
Future<Collection>
。但是,我们不想再使用future了,需要CompletableFuture
。一种想法是,我们不需要使用CompletableFuture进行轮询,也不必等待和阻止它,直到它准备就绪为止。因此,当
isDone()
线程完成时,我将如何使用可完成的Future并调用一个函数说callable
。 最佳答案
给定CompletableFuture<T> f
,您可以使用以下命令启动同步或异步任务以在完成时运行:
f.thenApply(result -> isDone(result)); // sync callback
f.thenApplyAsync(result -> isDone(result)); // async callback
...或者,如果您不需要结果:
f.thenRun(() -> isDone());
f.thenRunAsync(() -> isDone());
关于Java 8可完成的 future ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28943036/