news 2026/4/17 18:02:39

Java常见技术分享-22-多线程安全-进阶模块-异步任务的协调者-CompletableFuture

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java常见技术分享-22-多线程安全-进阶模块-异步任务的协调者-CompletableFuture

简介(java.util.concurrent.CompletableFuture)

  • 他实现了Future接口和CompletionStage接口( Future接口提供了一些基础的方法, 用来获取异步任务的结果或者取消任务, 另一个接口则定义了一系列编排异步任务的方法,比如thenApply,allOf等让你可以方便的处理任务之间的依赖关系或者合并多个任务处理的结果)
  • 用来简化异步编程的类, 不用管理线程的创建,启动,销毁,只需要专注于任务以及任务之间的依赖关系(CompletableFuture通过链式调用的方式清晰表达依赖关系),他能帮助我们并行执行多个任务, 并把结果合并。

常用方法

  • 创建异步任务的方法

    • supplyAsync 用在有返回值的任务
    • runAsync 用在没有返回值的任务
  • 处理任务结果的方法

    • thenApply 接受任务执行结果, 并执行新函数 且返回一个新的CompletableFuture (查询用户ID, 完了用用户ID查询订单信息)
    • thenAccept 接口任务执行结果 并执行一些处理, 不会返回新的结果 (查询完订单信息 , 打印日志)
  • 组合多个任务的方法(传入之前创建任务返回的所有CompletableFuture,返回一个CompletableFuture(合并的))
    - allOf 同时启动所有任务且并行执行, 等待所有任务执行完, 才往下走。
    - anyOf 同时启动所有任务且并行执行,等待有一个任务执行完返回那个执行完的任务的结果, 就往下走。

  • 处理异常的方法

    • exceptionally 当任务出现异常, 就会执行exceptionally里的代码返回默认值。
  • 获取任务结果的方法
    - get 阻塞方法, 会抛出检查异常, 必须使用try catch强制处理
    - join 阻塞方法, 会抛出未检查异常, 不必强制处理

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 6:57:14

RePKG完整指南:Wallpaper Engine资源提取与转换深度解析

RePKG完整指南:Wallpaper Engine资源提取与转换深度解析 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG工具是一款专为Wallpaper Engine设计的资源管理工具&#…

作者头像 李华
网站建设 2026/4/16 22:39:18

WELearnHelper完整指南:轻松实现智能学习自动化

WELearnHelper完整指南:轻松实现智能学习自动化 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案;支持班级测试;自动答题;刷时长;基于生成式AI(ChatGPT)的答案生成 项目地址: https://gitcode.com/gh_m…

作者头像 李华
网站建设 2026/4/15 14:35:40

DOL-CHS-MODS汉化美化包完整使用指南:从下载到精通

DOL-CHS-MODS汉化美化包完整使用指南:从下载到精通 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 想要彻底掌握DOL-CHS-MODS汉化美化包的使用方法吗?这份终极指南将带您从基…

作者头像 李华
网站建设 2026/4/15 14:35:42

3步彻底告别游戏卡顿:SOCD Cleaner让你操作如丝般顺滑

3步彻底告别游戏卡顿:SOCD Cleaner让你操作如丝般顺滑 【免费下载链接】socd SOCD cleaner tool for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的对局中,因为同时按下左右方向键而让角色原地卡顿&#xff1f…

作者头像 李华
网站建设 2026/4/12 8:43:49

1.环境搭建

一.交叉编译器存放位置1. 系统级标准目录(推荐)这类目录是系统默认的 “软件工具” 存放位置,所有用户都能访问,适合全局使用的交叉编译器:/usr/local/:最常用的目录,通常会在其下创建子目录区分…

作者头像 李华
网站建设 2026/4/12 23:33:29

Hitboxer SOCD清理工具:游戏操作的无缝优化方案

在激烈的游戏对抗中,按键冲突往往成为玩家操作流畅度的主要障碍。Hitboxer作为一款专业的SOCD清理工具,通过智能算法彻底解决了这一技术难题,为游戏玩家带来前所未有的操作体验。 【免费下载链接】socd SOCD cleaner tool for epic gamers …

作者头像 李华