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

福州高端网站定制网站设计的内容以及步骤

福州高端网站定制,网站设计的内容以及步骤,wordpress怎么写php,大型网站建设报价异步处理编排 我们可以在商品详细信息查询的位置实现CompletableFuture的异步编排处理。 根据业务分析#xff1a;3.4.5数据接口的入参信息需要来源于1数据接口的返回信息#xff0c;也就是skuid 所以可以设计 1 3 4 5 串行线程 #xff0c;而 3 4 5依赖1 #xff0c;需要等…异步处理编排 我们可以在商品详细信息查询的位置实现CompletableFuture的异步编排处理。 根据业务分析3.4.5数据接口的入参信息需要来源于1数据接口的返回信息也就是skuid 所以可以设计 1 3 4 5 串行线程 而 3 4 5依赖1 需要等1 执行完成 2接口数据没有关系所以就与上面的线程是并行关系 所以就是 1 2 接口数据是并行执行 而3 4 5与1 是串行执行 进行异步编排设计提高接口访问效率 这样处理后原本5个接口 假如每个接口都需要2s,那么一共就是要10s了现在就是缩减了因为1与2接口是并行执行而3 4 5也是并行的。所以时间上肯定是能较大程度缩减的 先定义线程池 // 第一种获取的方式//ExecutorService service Executors.newFixedThreadPool(10);// Executors.newCachedThreadPool()// Executors.newScheduledThreadPool() 定时任务的线程池// Executors.newSingleThreadExecutor(); // 线程池中永远只有一个线程去处理并发的情况下会被变为同步的处理// 第二种方式 直接new ThreadPoolExecutor()对象并且手动的指定对应的参数// corePoolSize:线程池的核心线程数量 线程池创建出来后就会 new Thread() 5个// maximumPoolSize:最大的线程数量线程池支持的最大的线程数// keepAliveTime:存活时间当线程数大于核心线程空闲的线程的存活时间 8-53// unit:存活时间的单位// BlockingQueueRunnable workQueue:阻塞队列 当线程数超过了核心线程数据那么新的请求到来的时候会加入到阻塞的队列中// new LinkedBlockingQueue() 默认队列的长度是 Integer.MAX 那这个就太大了所以我们需要指定队列的长度// threadFactory:创建线程的工厂对象// RejectedExecutionHandler handler:当线程数大于最大线程数的时候会执行的淘汰策略 Configuration public class MyThreadPoolConfig {Beanpublic ThreadPoolExecutor threadPoolExecutor(){return new ThreadPoolExecutor(20,200,10, TimeUnit.SECONDS,new LinkedBlockingQueue(10000), Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());} }具体的编排处理 //注入线程配置类的线程池 用于服务方法接口的线程创建所需 AutowiredThreadPoolExecutor threadPoolExecutor;Overridepublic SpuItemVO item(Long skuId) throws ExecutionException, InterruptedException {SpuItemVO vo new SpuItemVO();CompletableFutureSkuInfoEntity skuInfoFuture CompletableFuture.supplyAsync(() - {// 1.sku的基本信息 pms_sku_infoSkuInfoEntity skuInfoEntity getById(skuId);vo.setInfo(skuInfoEntity);return skuInfoEntity;}, threadPoolExecutor);//thenAcceptAsync 等待前面的异步任务完成后 获取其返回值做相应的业务处理该任务没返回值因为主要是获取前面的sku信息做入参 不需要有返回值CompletableFutureVoid saleFuture skuInfoFuture.thenAcceptAsync((res) - {// 3.获取spu中的销售属性的组合ListSkuItemSaleAttrVo saleAttrs skuSaleAttrValueService.getSkuSaleAttrValueBySpuId(res.getSpuId());vo.setSaleAttrs(saleAttrs);}, threadPoolExecutor);CompletableFutureVoid spuFuture skuInfoFuture.thenAcceptAsync((res) - {// 4.获取SPU的介绍SpuInfoDescEntity spuInfoDescEntity spuInfoDescService.getById(res.getSpuId());vo.setDesc(spuInfoDescEntity);}, threadPoolExecutor);CompletableFutureVoid groupFuture skuInfoFuture.thenAcceptAsync((res) - {// 5.获取SPU的规格参数ListSpuItemGroupAttrVo groupAttrVo attrGroupService.getAttrgroupWithSpuId(res.getSpuId(), res.getCatalogId());vo.setBaseAttrs(groupAttrVo);}, threadPoolExecutor);//runAsync 异步任务无需返回值CompletableFutureVoid imageFuture CompletableFuture.runAsync(() - {// 2.sku的图片信息pms_sku_imagesListSkuImagesEntity images skuImagesService.getImagesBySkuId(skuId);vo.setImages(images);}, threadPoolExecutor);CompletableFutureVoid seckillFuture CompletableFuture.runAsync(() - {// 查询商品的秒杀活动R r seckillFeignService.getSeckillSessionBySkuId(skuId);if(r.getCode() 0){SeckillVO seckillVO JSON.parseObject(r.get(data).toString(),SeckillVO.class);vo.setSeckillVO(seckillVO);}}, threadPoolExecutor);//最后 allOF等待阻塞上面的异步任务完成后再返回值由于3 4 5是依赖于 1skuInfoFuture异步任务完成所以无需将1写入也可以CompletableFuture.allOf(saleFuture,spuFuture,imageFuture,groupFuture,seckillFuture).get();return vo;}
http://www.hkea.cn/news/14509818/

相关文章:

  • 广告型网站怎么做的淘宝网页版登陆
  • 网站查询服务器微信公众号怎么做预约功能
  • 菠菜导航网站可以做golang建设网站
  • 怎样建立网站有哪些流程wordpress悬浮输入框
  • 网站前端怎么做方法濮阳新闻综合频道网站
  • 有了域名公司网站怎么建设创建网站的步骤
  • 无锡做网站365caiyi住房和城乡建设部的叉车证能用吗
  • 做本地网站赚钱吗php可视化网站开发工具
  • 网站设计服务做招聘网站需要哪些手续
  • 设计 微网站个人作品展示网站
  • php网站开发用什么软件百度个人网站申请
  • 有没有专门搞网站上线的公司妇幼医院网站建设方案
  • 七彩建设集团官方网站管理培训公司
  • 自己做网站 如何推广个人风采网站制作
  • 苏州市住房和城乡建设局网站台州市住房和城乡建设厅网站
  • 张槎网站开发大数据网站开发工程师
  • 阳江网站建设推广安微省建设厅网站
  • 给人做传销网站哈尔滨seo优化客户
  • 拖拽式制作网站做网站都需要什么步骤
  • 提供网站建设报价做网站大概需要多少钱
  • 网站设置关键词学历提升专升本
  • 网站重构营销一型网站建设公司
  • 烟台市建设工程交易中心网站网页设计与制作心得体会800字
  • 做教育网站多少钱wordpress首页弹出公告
  • 深圳代做网站网站维护页面怎么做的
  • 重庆 做网站开网店需要自己做网站吗
  • 江苏10大网站建设公司小程序搭建系统
  • 屏山县建设招标网站关键词排名优化怎么样
  • 淘宝客 网站无备案公众号平台官网网页版
  • 有哪些是外国人做的网站中国建筑集团有限公司有几个局