当前位置:  开发笔记 > 编程语言 > 正文

是否可以使用whenComplete(...)向CompletableFuture添加多个操作?

如何解决《是否可以使用whenComplete()向CompletableFuture添加多个操作?》经验,为你挑选了1个好方法。

该类CompletableFuture允许添加在调用后未来完成时调用的操作complete(...).

我可以使用whenComplete(...)添加多个BiConsumer动作完成以后,并且当所有的人都在执行时执行complete(...)方法被调用?



1> l00tr..:

是的,添加了所有BiConsumer操作,并在调用完成(...)时以反向添加顺序执行.

演示这个的示例可能如下所示:

public class Application {
    public static void main(String[] args) {
        System.out.println("My tests ...");
        CompletableFuture futureString = new CompletableFuture();
        futureString.whenComplete((s,e)->System.out.println("one " + s));
        futureString.whenComplete((s,e)->System.out.println("two " + s));
        futureString.whenComplete((s,e)->System.out.println("three " + s));
        System.out.println("do something else; "+ futureString.isDone());
        futureString.complete("step(s)");
        System.out.println("Done " + futureString.isDone());
    }
}

运行此程序时,打印结果如下所示:

My tests ...
do something else; false 
three step(s)
two step(s)
one step(s)
Done true

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有