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

郑州优化网站推广最新新闻热点事件今天

郑州优化网站推广,最新新闻热点事件今天,wordpress上传的gif图不会动,wordpress rest json文章目录 概要 多线程CountDownLatch 线程池CompletableFuture CompletableFuture介绍 概要 在Java中#xff0c;有些任务单线程执行时间长#xff0c;一般会使用多线程增加并发提高运行速率。但很多情况下#xff0c;需要所有子线程执行完#xff0c;才能往下执行主线… 文章目录 概要 多线程CountDownLatch 线程池CompletableFuture CompletableFuture介绍 概要 在Java中有些任务单线程执行时间长一般会使用多线程增加并发提高运行速率。但很多情况下需要所有子线程执行完才能往下执行主线程一般我们会使用这些方案 1、多线程CountDownLatch 2、线程池CompletableFuture 多线程CountDownLatch public static void main(String[] args) throws InterruptedException {         CountDownLatch latch new CountDownLatch(10);           for (int i0; i4; i) {             new Thread(new Runnable() {                 Override                 public void run() {                     System.out.println(Thread.currentThread().getName() 运行);                     try {                         Thread.sleep(3000);                     } catch (InterruptedException e) {                         e.printStackTrace();                     } finally {                         latch.countDown();                     }                 }             }).start();         }           System.out.println(等待子线程运行结束);         latch.await(10, TimeUnit.SECONDS);         System.out.println(子线程运行结束); }   缺点经常会忘记写latch.countDown();或者latch.countDown()未执行导致线程阻塞 线程池CompletableFuture 1、多个子线程全部执行完才能继续往下阻塞主线程 ThreadPoolExecutor threadPoolExecutor new ThreadPoolExecutor(8, 10,10, TimeUnit.SECONDS,new LinkedBlockingQueue(Integer.MAX_VALUE)); CompletableFutureVoid task3 CompletableFuture.runAsync(() - {//TODO do something }, threadPoolExecutor);CompletableFutureVoid task5 CompletableFuture.runAsync(() - {//TODO do something }, threadPoolExecutor); CompletableFutureVoid headerFuture CompletableFuture.allOf(task3, task5); headerFuture.join();//继续主线程 2、多个子线程每个单独异步执行不阻塞主线程 CompletableFutureVoid task3 CompletableFuture.runAsync(() - { //TODO do something }, threadPoolExecutor); CompletableFutureVoid task5 CompletableFuture.runAsync(() - { //TODO do something }, threadPoolExecutor); 3、exceptionally使用处理异常 CompletableFuture.runAsync(() - { //TODO do something }, threadPoolExecutor).exceptionally(e - {if (e instanceof CompletionException || e instanceof ExecutionException) {if (e.getCause() ! null) {e e.getCause();}}return MxtyDdlCompletableDTO.builder().throwable(e).build(); }); 4、多个子线程执行完成统计处理结果 ListCompletableFutureMxtyDdlCompletableDTO futureList new ArrayList(); for (ListString list : partition) {CompletableFutureMxtyDdlCompletableDTO future CompletableFuture.supplyAsync(() - {tableCountNumSql(dqlDecorator, list, map);return MxtyDdlCompletableDTO.builder().build();}, ddlTaskPool).exceptionally(e - {if (e instanceof CompletionException || e instanceof ExecutionException) {if (e.getCause() ! null) {e e.getCause();}}return MxtyDdlCompletableDTO.builder().throwable(e).build();});futureList.add(future); }for (CompletableFutureMxtyDdlCompletableDTO future : futureList) {MxtyDdlCompletableDTO dto future.join();if (dto null || dto.getThrowable() ! null) {} } CompletableFuture介绍 CompletableFuture是Java中的一个类表示异步计算的未来结果。它是java.util.concurrent包的一部分作为Future接口的增强功能在Java 8中引入的。 CompletableFuture类的一些关键特性包括 1. 异步执行CompletableFuture允许您异步执行任务这意味着调用线程可以在不等待任务完成的情况下继续执行。 2. 完成阶段CompletableFuture引入了CompletionStage的概念它表示可能最终完成并返回值或异常的计算阶段。CompletionStage提供了将多个阶段链接在一起并定义它们之间依赖关系的方法。 3. 回调和可组合性CompletableFuture支持回调在未来完成时执行。您可以使用 thenApply() 、 thenAccept() 和 thenRun() 等方法附加回调。此外CompletableFuture还提供了 thenCompose() 和 thenCombine() 等方法用于组合多个未来。 4. 异常处理CompletableFuture允许您处理计算过程中发生的异常使用 exceptionally() 和 handle() 等方法。这些方法提供了处理和恢复异常的灵活性。 5. 异步组合器CompletableFuture提供了一组称为组合器的方法允许您组合多个未来、等待它们全部完成或选择第一个完成的未来。 总的来说CompletableFuture为Java中的异步计算提供了强大而灵活的方式使您能够编写更高效和响应性的代码。
http://wiki.neutronadmin.com/news/335322/

相关文章:

  • 网站高转化页面网站中文名要注册的吗
  • 邢台做wap网站多少钱品牌建设心得体会
  • 服装设计公司室内平面图网站推广优化哪家公司好
  • 深圳网站备案拍照点怎么做网站前端
  • 网站建设合同要上印花税吗内蒙古住房和城乡建设部网站
  • 建网站需要什么广州建设官方网站
  • 建设部网站建造师管理号网站中的ppt链接怎么做的
  • 建设厅官方网站企业库wordpress如何上传html
  • 网站建设课结课感受商业空间设计风格
  • 网站建设推广视频wordpress引导页死循环
  • php做网站脑图全球十大it外包公司排名
  • 毕业设计购物网站怎么做可以不花钱做网站吗
  • 东莞制作手机网站做网站的公司主要是干啥
  • 补习吧 一家专门做家教的网站建站排行榜
  • 建设一个企业网站要多少钱wordpress站点一百数据卡不
  • 北京最好的网站建设公司书w3school网站建设教程
  • asp网站如何改首页布局视频教程西安做网站的公司有哪些
  • 果洛wap网站建设中国核工业第二三建设有限公司
  • 做网站用哪个服务器好国外外贸网站
  • 建网站和做微信哪个好wordpress theme修改
  • 青岛做网站的 上市公司有什么做衣服的网站
  • 网站建设如何设置登录页面国家企业信用网查询系统
  • 酒店做爰视频网站研发项目管理软件
  • 展示类网站重钢建设公司官方网站
  • 做网站 推广上海app开发费用
  • 专业上海网站建设公司哪家好工程建设造价信息网站
  • 大良营销型网站设计公司木兰网
  • 注册免费的网站模板网站建设源码
  • 长春建站的费用营销型网站建设市场分析
  • 做商城网站要什么证件wordpress 比特币