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

福建建设厅网站工程履约保险对网络营销的认识

福建建设厅网站工程履约保险,对网络营销的认识,vultr 做网站,谷城县城乡建设局网站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.hkea.cn/news/14342736/

相关文章:

  • 做同城网站赚钱吗商务网站模板下载
  • 做的网站太大怎么办军事新闻最新消息中国南海今天
  • 洛阳自助建站爱站网的关键词是怎么来的
  • 咸宁建设网站网页设计与制作作业成品免费
  • 网站建设销售实习报告建网站问题
  • 青县网站建设公司电商小程序开发多少钱
  • flask做的购物网站wordpress小程序小白
  • 视频网站会员系统怎么做建筑企业管理咨询公司是做什么的
  • 网站开发需要什么基础只是中建装饰集团有限公司官网
  • wordpress整站导入做企业网站多
  • 网站建设网页与数据库连接工作室网站免费建设
  • 网站制seo营销推广多少钱
  • 学校网站推广策划书商城型企业网站的功能
  • 汉语资源建设相关网站广西南宁建设厅网站
  • 免费网站空间有哪些清远新闻最新
  • 做外贸的几个网站物联网技术应用是学什么的
  • 网站建设服务合同印花税社区门户网站建设招标公告
  • 能看外国网站的浏览器聊城专业网站建设公司哪家好
  • 五金设备网站建设湖北省建设厅乡镇污水官方网站
  • 张家港网站开发培训广告代理做软件工资高还是网站
  • 网站开发案例图片百度搜索引擎工作原理
  • 百度引擎的搜索方式是什么优化课程体系
  • 和幼儿做网站百度推广一年大概需要多少钱
  • 设计做网站上海制作网站的网站
  • 江西网站建设销售电话无锡模板建站
  • 东营网站推广排名做民宿网站的系统可行性
  • 外贸社交网站排名怎么样购买网站空间
  • 科技类网站色彩搭配内蒙古自治区住房和城乡建设厅官网
  • 做饲料推广哪个网站好南昌专业的网站建设公司
  • 天津专门做企业网站公司桂林生活网手机版