java异步调用方法

2023-11-17

1.CompletableFuture

使用原生的CompletableFuture实现异步操作,加上对lambda的支持,可以说实现异步任务已经发挥到了极致。

@Test
public void test2() throws Exception {
System.out.println(“main函数开始执行”);
ExecutorService executor = Executors.newFixedThreadPool(2);
CompletableFuture future = CompletableFuture.supplyAsync(new Supplier() {
@Override
public Integer get() {
System.out.println("=task start=");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("=task finish=");
return 3;
}
}, executor);
future.thenAccept(e -> System.out.println(e));
System.out.println(“main函数执行结束”);
}

ExecutorService executor = Executors.newFixedThreadPool(2);
2是线程的个数

2.新建配置类

@EnableAsync
public class MyConfig {

@Bean
public TaskExecutor executor(){
    ThreadPoolTaskExecutor executor=new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(10); //核心线程数
    executor.setMaxPoolSize(20);  //最大线程数
    executor.setQueueCapacity(1000); //队列大小
    executor.setKeepAliveSeconds(300); //线程最大空闲时间
    executor.setThreadNamePrefix("fsx-Executor-"); //指定用于新创建的线程名称的前缀。
    executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
    return executor;
}

}

(1)@Async使用
在这里插入图片描述
启动类上增加@EnableAsync
方法上增加@Async即可
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java异步调用方法 的相关文章

随机推荐

  • MySQL数据库之DDL操作

    1 数据库管理系统的一些常用术语 学习数据库首先要清楚数据库的一些常用术语 行 又叫做记录 每一行都是一组相关的数据 列 又叫做字段 每一列都是一组数据类型相同数据 主键 是唯一的 在一张数据表中只有一个主键 且不能为空 外键 主要用于关联
  • 【牛客101】06,07判断链表中是否有环,找到环的入口

    文章目录 1 判断是否有环 1 1 题目描述 1 2 题目分析 1 3 代码讲解 2 找到环的入口 2 1 题目描述 2 2 问题分析 2 3 代码详解 1 判断是否有环 1 1 题目描述 判断给定的链表中是否有环 如果有环则返回true
  • JAVA中“+”加号用法总结及注意事项

    用法总结 1 若加号左右两边都是数值型时 做的是加法运算 2 若加号左右两边有任一方是非数值型时 做的都是拼接运算 注意事项 若加号左右两侧为方法名时将各方法结果输出后拼接打印 lo setAge 18 lo setName lou Sys
  • 关闭套接字close还是shutdown

    close 这个函数会对套接字引用计数 1 一旦发现引用计数到0 就会对套接字进行彻底释放 并且会关闭tcp两个方向的数据流 因为套接字可以被多个进程共享 你可以理解为我们给每个套接字都设置了一个积分 如果我们通过fork的方式创建了子进程
  • 软件工程导论习题

    软件工程是软件工程专业的一门重要学科 掌握好软件工程原理是开发软件的重要基础知识 本博客对软件工程导论部分习题解释 以更加深理解 选择 1 业界存在三种需求分析方法 面向功能分析 面向对象分析和 B A 面向算法分析 B 面向数据分析 C
  • 使用ESP定律_手工脱壳

    ESP定律脱壳一般的加壳软件在执行时 首先要初始化 保存环境 保存各个寄存器的值 一般利用PUSHAD 相当于把所有寄存器都压栈 当加壳程序的外壳执行完毕以后 再来恢复各个寄存器的内容 通过跨区段的转移来跳到程序的OEP来执行原程序 简单点
  • lr(1)分析法 算数表达式 c语言,编译原理及技术期末考试复习试题整理

    2 1 考虑文法G S 其产生式如下 S L a L L S S 1 试指出此文法的终结符号 非终结符号 终结符号为 a 非终结符号为 S L 开始符号为 S 2 给出下列各句子的分析树 a a a a a a a a a a 3 构造下列
  • Ubuntu20.04 开机无法进入登陆界面,一致转圈圈解决方案

    昨天把一个新的主机装了显卡驱动 cudnn没装完就关机走人了 今天早上一开机发现显示了这个 我没拍照片 这里盗用别的博主的照片了 搜了一下 本着能省则省的原则先从最简单的情况试起 怀疑是Lightdm出了问题 借用一下博主原话 是安装了li
  • 机器视觉开源代码集合

    机器视觉开源代码集合 一 特征提取Feature Extraction SIFT 1 Demo program SIFT Library VLFeat PCA SIFT 2 Project Affine SIFT 3 Project SUR
  • (struts2学习篇)struts2文件上传

    第一步 编写相关相关文件上传Action public class UploadFileAction extends ActionSupport private static final long serialVersionUID 1L 相
  • Hive千亿级数据倾斜解决方案

    数据倾斜问题剖析 数据倾斜是分布式系统不可避免的问题 任何分布式系统都有几率发生数据倾斜 但有些小伙伴在平时工作中感知不是很明显 这里要注意本篇文章的标题 千亿级数据 为什么说千亿级 因为如果一个任务的数据量只有几百万 它即使发生了数据倾斜
  • 十种经典运放电路分析

    转载十一种经典运放电路分析 本文章为转载文章 只是为以后方便查阅 如有侵权 请联系本人 1 反向放大器 图一运放的同向端接地 0V 反向端和同向端虚短 所以也是0V 反向输入端输入电阻很高 虚断 几乎没有电流注入和流出 那么R1和R2相当于
  • python解决Net Frameword匹配问题及Failed building wheel for XXX

    文章目录 1 背景 2 错误描述 2 1 错误关键语句 1 2 2 错误关键语句 2 2 3 错误关键语句 3 3 原因 4 解决问题 5 总结 6 参考链接 1 背景 计划使用NI veristand的python依赖包 但是在安装的过程
  • 算法设计与分析--求最大子段和问题(蛮力法、分治法、动态规划法) C++实现

    算法设计与分析 求最大子段和问题 问题描述 给定由n个整数组成的序列 a1 a2 an 求该序列形如 的子段和的最大值 当所有整数均为负整数时 其最大子段和为0 利用蛮力法求解 int maxSum int a int n int maxS
  • openGauss和oracle的上下翻命令和自动补全

    openGauss的gsql需要加参数 r 才能支持上下翻命令和自动补全 gsql d postgres p 15400 r oracle的sqlplus也不支持上下翻命令和自动补全 使用rlwrap可以实现上下翻命令 但是还是不能实现自动
  • Could not load dynamic library ‘cudart64_110.dll‘; dlerror: cudart64_110.dll not found

    Could not load dynamic library cudart64 110 dll dlerror cudart64 110 dll not found 报错如下 解决方法1 不推荐 对后续使用影响大 解决方法2 验证代码 输出
  • python拼接两个或者多个视频文件

    拼接不同分辨率的视频文件 import os import linecache 读取指定路径下的所有文件并放入到列表中 root workspace videos codec videos codec evp test h264 file
  • 【毕设选题】小红书数据分析与可视化

    文章目录 0 前言 1 课题背景 2 数据库依赖 导入依赖包 3 分析服饰行业笔记数据趋势数据 3 1数据一览 3 2 可视化分析 3 3 可视化分析 4 分析服饰行业内容关键词数据 4 1 数据一览 4 2 可视化分析 5 分析服饰行业品
  • VUE map area coords自适应

  • java异步调用方法

    1 CompletableFuture 使用原生的CompletableFuture实现异步操作 加上对lambda的支持 可以说实现异步任务已经发挥到了极致 Test public void test2 throws Exception