当前位置: 首页 > news >正文

有没有专做烘焙的网站有网络网站打不开

有没有专做烘焙的网站,有网络网站打不开,玉林网站优化,福田公司是国企还是私企CompletableFuture使用详解 【Java异常】Variable used in lambda expression should be final or effectively final CompletableFuture原理与实践-外卖商家端API的异步化 项目描述 项目接口需要从下游多个接口获取数据#xff0c;并且下游的网络不稳定还会涉及到循环调用…CompletableFuture使用详解 【Java异常】Variable used in lambda expression should be final or effectively final CompletableFuture原理与实践-外卖商家端API的异步化 项目描述 项目接口需要从下游多个接口获取数据并且下游的网络不稳定还会涉及到循环调用下游接口导致该接口响应异常慢。 其实调用链路如图所示 cf1 ~ cf5 都需要调用下游接口导致只能按照顺序依次调用接口。其实可以将例如cf1cf2 拆分成两个异步请求没必要cf2必须等待cf1请求完成才请求。 CompletableFuture 简介 之前使用的是同步模型。在同步调用的场景下接口耗时长、性能差接口响应时长T T1T2T3……Tn。 利用 CompletableFuture 之后使用的是异步模型并行从下游获取数据。 Completable实现了两个接口Future 和 CompletionStage。 Future表示异步计算结果CompletionStage表示异步执行过程中的一个步骤这个步骤可能是由另外一个 CompletionStage触发的。 随着当前步骤的完成也可能会触发其他一系列CompletionStage的执行。从而我们可以根据实际业务对这些步骤进行多样化的编排组合CompletionStage接口正是定义了这样的能力我们可以通过其提供的thenAppy、thenCompose等函数式编程方法来组合编排这些步骤。 使用教程 具体使用教程可以参考这边文章CompletableFuture原理与实践-外卖商家端API的异步化描述的十分详细和生动。 项目应用 cf1cf2由于没有任何依赖可是需要返回值故设计为 CompletableFutureListxxxDto cf1 CompletableFuture.supplyAsync(() - {//业务处理if (CollectionUtils.isEmpty(resp.getData())) {//其他线程抛出异常}return resp.getData(); }).exceptionally(ex - {//主线程处理其他线程抛出的异常 });cf3cf5由于依赖 cf1, cf2 所以可以通过thenApply、thenAccept、thenCompose等方法来实现 但注意返回数据类型必须相同。 CompletableFuturexxxDto cf3 cf1.thenApply(result1 - {//result1为cf1的结果//......return resp.getData(); }); CompletableFuturexxxDto cf5 cf2.thenApply(result2 - {//result2为cf2的结果//......return resp.getData(); });cf4依赖cf1cf2 这种二元依赖可以通过thenCombine等回调来实现 CompletableFutureString cf4 cf1.thenCombine(cf2, (result1, result2) - {//result1和result2分别为cf1和cf2的结果return result4; });由于cf6依赖cf3cf4cf5这种多元依赖可以通过allOf或anyOf方法来实现区别是当需要多个依赖全部完成时使用allOf当多个依赖中的任意一个完成即可时使用anyOf CompletableFutureVoid cf6 CompletableFuture.allOf(cf3, cf4, cf5); CompletableFutureString result cf6.thenApply(v - {//这里的join并不会阻塞因为传给thenApply的函数是在CF3、CF4、CF5全部完成时才会执行 。result3 cf3.join();result4 cf4.join();result5 cf5.join();//根据result3、result4、result5组装最终result;return result; });需注意如果cfx里用到方法的局部变量需要设置为final避免completablefuture在使用该变量的时候被修改。 设计思想 按照类似 “观察者模式” 的设计思想 异步化收益 接口响应从 TP993s左右提升到2s左右
http://www.dnsts.com.cn/news/114170.html

相关文章:

  • 自己怎么健网站视频教程不动产登记网站建设
  • 自适应门户网站模板外贸网站该怎么做
  • 网站开发的ppt报告北京城乡住房建设厅网站
  • 专业做网文的网站咸阳城乡建设局网站
  • 做设计找素材都有什么网站网站建设克隆
  • 卫龙的网站做的污污分深圳网站建设网站排名优化
  • wordpress直接访问站点长沙本地招聘网最新招聘信息
  • 什么免费网站可以链接域名制作动画的网站模板
  • h5响应式网站建设方案廊坊网站
  • 泉州网站建设优化公司浙江短视频seo优化网站
  • 服务器 无法访问网站沈阳市城乡建设网站
  • 如何在网站上做自动弹出wordpress 手机端模板
  • 做网站打算套用模板辽宁网站推广
  • 我们的优势的网站找私人做网站
  • 接网站建设单子注意事项济南网站建设公司按需定制
  • 商务网站建设作业加强文化网站建设
  • 直播网站开发技术网络安全维护公司
  • 唐山市城市建设档案馆网站wordpress房产模板
  • 百度推广网站建设费做网站不给源码程序
  • 重庆官方网站查询系统网站优化 图片
  • 常用网站设计缩略图抖音小程序广告怎么跳过
  • 北京网站建设net2006网络营销总监岗位职责
  • 网站怎么做缓存小说网站建设模板下载
  • 网站排名 影响因素无障碍网站建设的意义
  • 网站没有icp备案vs网站开发教程
  • 宁波网站建设的过程推广app赚佣金
  • 西安做网站陕西必达网站开发找哪个
  • 学校建设网站的作用做邀请函的网站
  • 郑州专业的网站公司教育培训网站模板下载
  • 红色网站源码服务好的高端网站建设服务商