摘要:项目需求项目中需要优化一个接口,这个接口需要拉取个第三方接口,需求延迟时间小于技术选型是提出的一个支持非阻塞的多功能的,同样也是实现了接口,是添加的类,用来描述一个异步计算的结果。对进一步完善,扩展了诸多功能形成了。
项目需求:
项目中需要优化一个接口,这个接口需要拉取23个第三方接口,需求延迟时间小于200ms;
技术选型:CompletableFuture是JDK8提出的一个支持非阻塞的多功能的Future,同样也是实现了Future接口,Future是Java 5添加的类,用来描述一个异步计算的结果。java8对future进一步完善,扩展了诸多功能形成了CompletableFuture。
CompletableFuture功能介绍 代码final List
//获取审核状态
futures.add(CompletableFuture.runAsync(() -> task1(), executorService));
//用户头像
futures.add(CompletableFuture.runAsync(() -> task2(), executorService));
CompletableFuture.allOf(futures.toArray(new CompletableFuture[]{})).join();
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/72944.html
摘要:方法接收的是的实例,但是它没有返回值方法是函数式接口,无参数,会返回一个结果这两个方法是的升级,表示让任务在指定的线程池中执行,不指定的话,通常任务是在线程池中执行的。该的接口是在线程使用旧的接口,它不允许返回值。 简介 作为Java 8 Concurrency API改进而引入,本文是CompletableFuture类的功能和用例的介绍。同时在Java 9 也有对Completab...
摘要:方法接受一个生产者作为参数,返回一个对象,该对象完成异步执行后会读取调用生产者方法的返回值。该方法接收一个对象构成的数组,返回由第一个执行完毕的对象的返回值构成的。 一、Future 接口 在Future中触发那些潜在耗时的操作把调用线程解放出来,让它能继续执行其他有价值的工作,不再需要呆呆等待耗时的操作完成。打个比方,你可以把它想象成这样的场景:你拿了一袋子衣服到你中意的干洗店去洗。...
摘要:中使用了提供的原生接口对自身的异步化做了改进。可以支持和两种调用方式。实战通过下面的例子,可以看出的最大好处特性。 showImg(https://segmentfault.com/img/remote/1460000020032427?w=1240&h=655); 前段时间工作上比较忙,这篇文章一直没来得及写,本文是阅读《Java8实战》的时候,了解到Java 8里已经提供了一个异步...
摘要:组合式异步编程最近这些年,两种趋势不断地推动我们反思我们设计软件的方式。第章中介绍的分支合并框架以及并行流是实现并行处理的宝贵工具它们将一个操作切分为多个子操作,在多个不同的核甚至是机器上并行地执行这些子操作。 CompletableFuture:组合式异步编程 最近这些年,两种趋势不断地推动我们反思我们设计软件的方式。第一种趋势和应用运行的硬件平台相关,第二种趋势与应用程序的架构相关...
摘要:在这种方式中,主线程不会被阻塞,不需要一直等到子线程完成。主线程可以并行的执行其他任务。如果我们不想等待结果返回,我们可以把需要等待完成执行的逻辑写入到回调函数中。任何立即执行完成那就是执行在主线程中尝试删除测试下。可以使用达成目的。 Java 8 有大量的新特性和增强如 Lambda 表达式,Streams,CompletableFuture等。在本篇文章中我将详细解释清楚Compl...
阅读 825·2021-09-22 15:17
阅读 1871·2021-09-22 15:06
阅读 2152·2021-09-08 09:35
阅读 5041·2021-09-01 11:43
阅读 3427·2019-08-30 15:55
阅读 2135·2019-08-30 12:48
阅读 3132·2019-08-30 12:45
阅读 1762·2019-08-29 17:31