CompletableFuture 异步调用,获取返回值
ExecutorService executor = new ThreadPoolExecutor(8, 16, 60,TimeUnit.MINUTES,new ArrayBlockingQueue<>(100));Random random=new Random(10);//模拟查询用户列表List<User> list=selectUsers();//需要执行的任务列表// 任务列表List<CompletableFuture<User>> fList = new ArrayList<>();list.forEach(u->{CompletableFuture<User> f = CompletableFuture.supplyAsync(//异步执行方法//执行耗时较长的业务代码,这里模拟一下()->{//执行完成,设置返回结果 设置 coede 和 listu.setAge(random.nextInt(100));u.setName(UUID.randomUUID().toString());return u;},executor);fList.add(f);});// 阻塞,等待所有任务执行完成CompletableFuture<Void> all= CompletableFuture.allOf(fList.toArray(new CompletableFuture[0]));//因为allOf没有返回值,所以需要通过thenApply回调函数获取结果CompletableFuture<List<User>> allUser=all.thenApply(v-> fList.stream().map(a-> {try {return a.get();} catch (InterruptedException | ExecutionException e) {e.printStackTrace();}return null;}).collect(Collectors.toList()));
// ---------------获取返回值-----------------try {list=allUser.get();} catch (InterruptedException e) {throw new RuntimeException(e);} catch (ExecutionException e) {throw new RuntimeException(e);}相关文章:
CompletableFuture 异步调用,获取返回值
ExecutorService executor new ThreadPoolExecutor(8, 16, 60,TimeUnit.MINUTES,new ArrayBlockingQueue<>(100));Random randomnew Random(10);//模拟查询用户列表List<User> listselectUsers();//需要执行的任务列表// 任务列表List<CompletableFuture<Us…...
excel利用正则匹配和替换指定内容
上班中, 突然接到电话, 屋里的上司大人发来个excel, 说要替换里面x-x-xxx列的内容为x栋x单元xxx. 大致表格如下, 原表格我就不发了 身为程序猿的我, 肯定第一就想到了 正则! 打开excel-开始-查找和替换, 我擦, 只能完全匹配和替换 比如一次只能替换1-1- -> 为1栋1单元 1-2…...
IPv4首部格式
IPv4首部格式 IPv4数据报的首部格式及其内容是实现IPv4协议各种功能的基础。 在TCPIP标准中,各种数据格式常常以32比特(即4字节)为单位来描述。 IPv4首部格式图 ## IPv4数据报的组成 主要由固定部分(20字节)可变部分(最大40字节) - 固定部分是指每个IPv4数据报都必…...
点云从入门到精通技术详解100篇-基于 3D 激光雷达的车厢冻煤存量检测
目录 前言 研究意义 研究现状(Research status) 3D 激光雷达检测技术研究现状...
idea使用MyBatisX插件
1.MyBatisX功能 (1).实现mapper和xml的跳转 (2).自动生成java文件,比如mapper、service、dao、pojo 2.安装MyBatisX插件 install后然后重启idea即可 3.使用MyBatieX实现mapper和xml跳转 (1).点击mapper中的红色图标即可跳转到对应的xml方…...
Open3D(C++) 最小二乘拟合平面(间接平差法)
目录 一、算法原理1、原理概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。 一、算法原理 1、原理概述 通过传统最小二乘法对点云数据进行平面拟合时,可将误差只归因于一个方向上,本文假设误差只存在于 Z Z...
Linux中搭建coturn服务器
1、下载coturn源码 git clone https://github.com/coturn/coturn.git2、进入到coturn路径下,执行一下命令。 ./configure出现以下错误: 问题1:ERROR: OpenSSL Crypto development libraries are not installed properly in required locati…...
【Proteus仿真】【Arduino单片机】SG90舵机控制
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用SG90舵机等。 主要功能: 系统运行后,舵机开始运行。 二、软件设计 /* 作者:嗨小易(QQ&#x…...
程序员有哪些规避风险的合法兼职渠道?
近期,承德程序员事件冲上热搜,这对许多程序员的心灵是多么大的伤害啊! 人人自危,大家开始顾虑自己接私活、找兼职的方式和前景了。毕竟,谁也不想”辛辛苦苦几十年,一把回到解放前“。那有什么办法既可以接私…...
OpenGL_Learn04
我这边并不是教程,只是学习记录,方便后面回顾,代码均是100%可以运行成功的。 1. 渐变三角形 #include <glad/glad.h> #include <GLFW/glfw3.h>#include <iostream> #include <cmath>void framebuffer_size_callba…...
【嵌入式】HC32F07X CAN通讯配置和使用配置不同缓冲器以连续发送
一 背景说明 使用小华(华大)的MCU HC32F07X实现 CAN 通讯配置和使用 二 原理分析 【1】CAN原理说明(参考文章《CAN通信详解》): CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现…...
Linux的常见指令(一)
目录 一、文件 二、常见指令 1、pwd 2、ls 1、ls -a 2、ls -l 3、ls -i 编辑 3、touch 4、mkdir 5、cd 6、rmdir 和 rm 7、man 8、cp 一、文件 目录和文件是在磁盘上建立的,空文件是在磁盘上占用空间的(文件包括文件内容和文件的各种属…...
Jenkins 参数动态获取目录里面的内容
Jenkins 参数动态获取目录里面的内容 假如我们想把一个目录下面的tar.gz文件作为jenkins参数,这个目录会实时更新,每次运行job的时候需要把目录里面的文件作为输入,这时候我们可以使用jenkins自带的Active Choices Parameter参数 在参数中写…...
centos 搭建内网ntp时间服务器
在 CentOS 搭建内网 NTP 时间服务器,你可以按照以下步骤操作: 安装 NTP 服务: 打开终端并以 root 用户身份登录。使用以下命令安装 NTP 服务: sudo yum install ntp配置 NTP 服务器: 打开 NTP 配置文件 /etc/ntp.conf&…...
FreeRTOS-消息队列的使用
1. 定义队列传输的内容和队列结构体对象 使用 xQueueHandle结构体创建对象 typedef struct {u8 TaskNum;u8 Cmd;u8 * buf;}QueueObject_t;xQueueHandle xQueue NULL; 2. 调用xQueueCreate API创建队列 xQueueCreate()函数:用于创建一个消息队列。 QueueHan…...
喜欢 Android 14 的 14 个理由
和去年 8 月中旬发布的 Android 13 正式版不同,今年的 Android 14 正式版延后到了 10 月 4 日——也就是 Pixel 8 系列发布的同一天。原因我们似乎也能从 Google 宣传新特性中略窥一二: 除了明确表示会率先向特定 Pixel 机型推送的 AI 壁纸生成…...
图解系列--路由器和它庞大的功能
03.01 何为路由器 路由器是指主要负责 OSI参考模型中网络层的处理工作,并根据路由表信息在不同的网络 之间转发IP 分组的网络硬件(图3-1)。这里的网络一般是指IP 子网,也可以称为广播域。此外,现在的路由器还会搭载其他各种各样的功能。 0…...
DBeaver 23.2.3发布,带来多项增强和修复
数据库管理工具DBeaver最新版本23.2.3已经发布。这个版本带来了一系列的增强和修复,提升了用户的使用体验和工作效率。 以下是DBeaver 23.2.3版本的一些亮点功能: 数据编辑器方面的改进: Excel (XLSX) 导出现在支持列自动拟合,…...
Proteus仿真--基于51单片机的按键选播电子音乐(仿真文件+程序)
本文主要介绍基于51单片机的按键选播电子音乐(完整仿真源文件及代码见文末链接) 本设计中包括一个按键和一个喇叭,点击按键可以切换选择播放不同的音乐 仿真图如下 其中点击按键K1进行音乐选播选择切换 仿真运行视频 Proteus仿真--基于5…...
node使用http模块
文章目录 前言一、创建http服务二、设置http的响应报文三、不同请求响应不同数据四、请求响应不同html文件1. 添加www文件夹2. js代码3. 效果 五、get和post请求的区别 前言 提示:这里可以添加本文要记录的大概内容: 一、创建http服务 // 1:…...
ncmdumpGUI:免费解锁网易云音乐加密文件,3分钟实现跨设备播放自由
ncmdumpGUI:免费解锁网易云音乐加密文件,3分钟实现跨设备播放自由 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经遇到过这样…...
MySQL中redo log 和 bin log的本质区别,别再搞混了!
很多初学者容易把 redo log 和 binlog 搞混,它们都是 MySQL 的日志,但有着本质的区别:对比维度redo logbin log所属层级InnoDB 存储引擎层MySQL Server 层日志类型物理日志,记录数据页的修改逻辑日志,记录SQL语句或行变…...
AudioSwitch:一键管理Windows音频设备,告别繁琐系统设置
AudioSwitch:一键管理Windows音频设备,告别繁琐系统设置 【免费下载链接】AudioSwitch Switch between default audio input or output change volume 项目地址: https://gitcode.com/gh_mirrors/au/AudioSwitch 音频设备切换是Windows用户经常遇…...
【限时解密】ElevenLabs未公开的瑞典文语料权重配置表:仅限前200名开发者获取的/sv-SE/声道微调参数
更多请点击: https://codechina.net 第一章:瑞典文语音合成的技术背景与ElevenLabs架构定位 瑞典语作为北日耳曼语支的重要语言,拥有丰富的元音系统(9个长元音、9个短元音)、独特的声调重音(accent 1 和 a…...
3分钟搞定百度网盘提取码:新手也能快速上手的终极解决方案
3分钟搞定百度网盘提取码:新手也能快速上手的终极解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否经常遇到这样的烦恼:朋友分享的百度网盘链接明明就在眼前,却因为缺少那个关…...
Python开发者快速上手,十分钟完成Taotoken API第一个聊天调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Python开发者快速上手,十分钟完成Taotoken API第一个聊天调用 对于希望快速体验不同大语言模型能力的Python开发者来说…...
AI 会取代测试工程师吗?来看看最新“AI程序员”Devine的翻车现场
引言:一条被炒得过热的赛道 2024年3月,Cognition Labs发布了Devin——一款被官方冠以“世界首位AI软件工程师”头衔的产品。演示视频中,Devin自主浏览文档、编写代码、运行测试、提交PR,甚至能在Upwork上接单挣钱。资本市场迅速反应:Cognition Labs在A轮融资中拿到了2100…...
终极免费InfluxDB图形化管理工具:告别命令行的高效解决方案
终极免费InfluxDB图形化管理工具:告别命令行的高效解决方案 【免费下载链接】InfluxDBStudio InfluxDB Studio is a UI management tool for the InfluxDB time series database. 项目地址: https://gitcode.com/gh_mirrors/in/InfluxDBStudio 你是否厌倦了在…...
视启未来[特殊字符]百度智能云:给大模型一双手,让AI真正触碰物理世界
如果说过去两年,大模型在数字世界里掀起了一场海啸;那么2026年,这场海啸正在以“具身智能”的形态,猛烈地拍击物理世界的海岸线。但这里却有一个“骨感”的现实:AI能写出拿普利策奖的文章,能画出媲美梵高的…...
大模型 API 中转站工程选型:token5u 接入与压测清单
工程项目里选 API 中转站,不能只看“能不能调通”。能调通只是第一步,后面还有协议兼容、模型路由、超时重试、流式输出、账单归因、Key 管理、企业结算和故障切换。本文按工程视角拆:行业风险、选型指标、推荐顺序、接入示例和上线前压测清单…...
