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

网站公司销售怎么做营销型网站建设企业

网站公司销售怎么做,营销型网站建设企业,做网站的视频的软件 cs,旅游wordpress全文目录: 开篇语前言1. **什么是 CompletableFuture?**2. **创建 CompletableFuture**2.1 **使用 runAsync() 创建无返回值的异步任务**2.2 **使用 supplyAsync() 创建有返回值的异步任务** 3. **组合多个异步任务**3.1 **thenApply() 用于处理异步结果…

全文目录:

    • 开篇语
    • 前言
    • 1. **什么是 CompletableFuture?**
    • 2. **创建 CompletableFuture**
      • 2.1 **使用 runAsync() 创建无返回值的异步任务**
      • 2.2 **使用 supplyAsync() 创建有返回值的异步任务**
    • 3. **组合多个异步任务**
      • 3.1 **thenApply() 用于处理异步结果**
      • 3.2 **thenCompose() 用于组合多个依赖任务**
      • 3.3 **thenCombine() 用于组合两个独立的异步任务**
    • 4. **异常处理**
    • 5. **等待多个异步任务**
    • 6. **总结**
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

  在现代应用中,异步编程越来越成为一个重要的编程模式。它可以有效提高系统的性能和响应性,特别是在处理大量 I/O 操作或耗时任务时。Java 8 引入的 CompletableFuture 类为我们提供了强大的工具来实现异步编程。今天,我们将深入探讨 CompletableFuture 的使用方法以及如何利用它来优化异步任务的执行。

1. 什么是 CompletableFuture?

  CompletableFuture 是 Java 8 引入的一个类,它实现了 Future 接口,并增强了其功能。CompletableFuture 允许我们以非阻塞的方式执行异步任务,并且它支持链式调用、组合任务、异常处理等多种功能。

  与传统的 Future 类不同,CompletableFuture 可以手动完成(complete),而 Future 只能等待任务完成。CompletableFuture 提供了强大的异步处理能力,让你能够更加方便地管理异步任务。

2. 创建 CompletableFuture

2.1 使用 runAsync() 创建无返回值的异步任务

runAsync() 方法用于创建一个没有返回值的异步任务。在这种情况下,任务执行后不会返回结果,我们只关心任务是否完成。

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {// 使用 runAsync() 创建一个异步任务CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {System.out.println("异步任务正在执行...");try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("异步任务完成");});// 阻塞等待异步任务完成future.join();System.out.println("主线程执行完成");}
}

2.2 使用 supplyAsync() 创建有返回值的异步任务

runAsync() 适用于没有返回值的任务,而 supplyAsync() 方法用于创建一个有返回值的异步任务。在异步任务执行完成后,可以获取返回值。

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {// 使用 supplyAsync() 创建一个有返回值的异步任务CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {System.out.println("异步任务正在执行...");try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}return "异步任务完成,返回结果";});// 获取返回值String result = future.join();System.out.println("主线程执行完成,异步结果:" + result);}
}

3. 组合多个异步任务

CompletableFuture 提供了很多方法来组合多个异步任务,包括 thenApply()thenCompose()thenCombine() 等。通过这些方法,我们可以链式地处理多个异步任务。

3.1 thenApply() 用于处理异步结果

thenApply() 方法用于在任务完成后处理结果。它会接收一个函数,对异步任务的返回值进行处理,并返回新的 CompletableFuture

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {return 10;});// 使用 thenApply() 处理异步任务的返回结果CompletableFuture<Integer> result = future.thenApply(value -> {System.out.println("处理异步任务返回值:" + value);return value * 2;});// 获取处理后的结果System.out.println("处理后的结果:" + result.join());}
}

3.2 thenCompose() 用于组合多个依赖任务

thenCompose() 方法用于将多个异步任务连接成一个串联的任务序列。它适用于需要将一个异步任务的结果作为输入传递给下一个异步任务的情况。

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {return 5;});// 使用 thenCompose() 组合多个异步任务CompletableFuture<Integer> result = future.thenCompose(value -> {return CompletableFuture.supplyAsync(() -> {return value * 2;});});System.out.println("组合后的结果:" + result.join());}
}

3.3 thenCombine() 用于组合两个独立的异步任务

thenCombine() 方法用于将两个独立的异步任务的结果进行组合,它会等两个任务都执行完之后,执行合并操作。

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(() -> {return 5;});CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync(() -> {return 10;});// 使用 thenCombine() 组合两个独立的异步任务CompletableFuture<Integer> result = future1.thenCombine(future2, (value1, value2) -> {return value1 + value2;});System.out.println("组合后的结果:" + result.join());}
}

4. 异常处理

在异步编程中,异常处理非常重要。CompletableFuture 提供了 exceptionally() 方法来处理异步任务中的异常。

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {throw new RuntimeException("模拟异常");});// 使用 exceptionally() 处理异常future.exceptionally(ex -> {System.out.println("捕获到异常:" + ex.getMessage());return -1;});System.out.println("主线程执行完成");}
}

5. 等待多个异步任务

CompletableFuture 还提供了一个非常实用的方法 allOf(),它允许我们等待多个异步任务都执行完毕,然后再继续执行。

import java.util.concurrent.CompletableFuture;public class CompletableFutureExample {public static void main(String[] args) {CompletableFuture<Void> future1 = CompletableFuture.runAsync(() -> {System.out.println("异步任务1正在执行...");});CompletableFuture<Void> future2 = CompletableFuture.runAsync(() -> {System.out.println("异步任务2正在执行...");});// 等待所有任务完成CompletableFuture.allOf(future1, future2).join();System.out.println("所有异步任务执行完毕");}
}

6. 总结

CompletableFuture 是 Java 提供的一种强大的工具,用于处理异步编程。它不仅支持简单的异步任务执行,还提供了丰富的 API 来组合多个异步任务、处理任务结果、以及处理异常等。在开发中,使用 CompletableFuture 能够显著提高应用的响应性能和并发处理能力。

今天我们学习了 CompletableFuture 的基础使用方法,如何创建异步任务,如何处理任务结果和异常,如何组合多个异步任务。掌握了这些基本操作后,你可以更好地在 Java 中实现异步编程,提升应用的效率。

如果你对 CompletableFuture 还有疑问,或者希望深入了解更多高级用法,欢迎随时提问!

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

http://www.dtcms.com/wzjs/508484.html

相关文章:

  • 微网站开发平台免费sem账户托管
  • 移动端购物网站建设目的深圳关键词首页排名
  • 北京建站设计百度推广登陆平台登录
  • wordpress
    泰州网站优化公司
  • 微信代运营方案怎么做好网站搜索引擎优化
  • 优推宝可以做自己网站吗百度怎么发自己的小广告
  • 最佳商城ui网站设计百度推广关键词规划师
  • 网站建设车成本教育机构排名
  • c 做网站好嘛对网站的建议和优化
  • iis网站搭建济南网站建设老威
  • 做投资要关注哪些网站湛江seo推广公司
  • 广东汕头最新消息青岛网站建设方案优化
  • 那个网站可以查询美做空基金信息流优化师职业规划
  • 网站漂浮广告代码郑州网站seo服务
  • 常州自助建站seoseo技术顾问阿亮
  • 网站建设的合同域名注册网站查询
  • 网站建设菜单栏设计搭建一个网站需要多少钱?
  • 网站建设运营策划方案网页制作公司哪家好
  • 网站制作工作室泉州全网营销优化
  • 网站建设服务 发票新品推广策划方案
  • 个人网站制作软件东莞网络公司电话
  • 广州建外贸网站公司免费推广网址
  • 辽宁app开发公司天津百度seo
  • php网站代做论坛推广的步骤
  • 招聘网站设计论文市场调研数据网站
  • 如何创办一个网站合肥seo排名收费
  • 网站建设应重视后期的服务和维护企业推广视频
  • .net做网站后台网上怎么注册公司免费的
  • 网站开发方案目录互动营销用在哪些推广上面
  • postgresql做网站用什么环境宁波网络营销推广公司