首页
学习
活动
专区
圈层
工具
发布

CompletableFuture 组合处理 allOf 和 anyOf太赞了!

allOf 和 anyOf 可以组合任意多个 CompletableFuture。函数接口定义如下所示。 首先,这两个函数都是静态函数,参数是变长的 CompletableFuture 的集合。...其次,allOf 和 anyOf 的区别,前者是「与」,后者是「或」。...anyOf 的含义是只要有任意一个 CompletableFuture 结束,就可以做 接下来的事情,而无须像 AllOf 那样,等待所有的 CompletableFuture 结束。...但由于每个 CompletableFuture 的返回值类型都可能不同,任意一个, 意味着无法判断是什么类型,所以 anyOf 的返回值是 CompletableFuture类型。...在该例子中,因为future1、future2、future3的返回值都是CompletableFuture,所以anyOf的返回的Object一定也是 String 类型。

19.9K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    聊聊Java中CompletableFuture的使用

    结果组合运算 thenCombine和thenCompose thenAcceptBoth和runAfterBoth acceptEither、runAfterEither java9...CompletableFuture是java8引入的一个异步类,它最大的优势是可以在创建的对象中传入一个回调对象,在任务结束后(done或throw exception),自动调用回调对象的回调方法,而不用让主线程阻塞...如果前面3个任务只有一个完成最后一个任务就可以执行,那就用anyOf方法,把上面代码中allOf改成anyOf,其他代码不变,执行结果如下: 我是主线程 洗杯子 泡咖啡 烧水 磨咖啡 注意: 1.anyOf...看下面代码 CompletableFuture future4 = CompletableFuture.anyOf(future1, future2, future3); future4...java9的改进 1.可以设置超时时间,超时后给一个默认值,比如下面代码输出100 ExecutorService executor = MyThreadPoolExecutor.getThreadPoolExecutor

    1.1K10
    领券