java线程池的使用
一、在java中使用线程池的情况:
1、任务执行时间比较长的时候,前台只需要在执行就可以,不需阻塞等待结果
2、出现高并发的情况,如果没有线程池的管理,会撑爆内存,需要任务排队执行任务
二、线程池的使用:
1、新城池的分类大类有四种,单例,可变,定长,缓存
2、常用的情况就是热内比较多,而且任务的执行时间比较长的情况,需要排队执行任务,并且核心线程数量一定,排队线程不做限制
import org.springframework.beans.factory.annotation.Value;import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit;public class ThreadPoolManage {@Value("corePoolSize")private static int corePoolSize; //核心线程池数量(运行的最少线程)@Value("maxPoolSize")private static int maxPoolSize; //最大线程池数量(运行的最大线程)和队列容量无关private ThreadPoolManage (){}//单例线程池private static final ExecutorService fixedThreadPool = new ThreadPoolExecutor(corePoolSize,maxPoolSize,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue() //新建一个阻塞队列,任务入队等待);public static ExecutorService getFixedThreadPool() {return fixedThreadPool;} }三、线程池的使用:
ExecutorService fixedThreadPool = ThreadPoolManager.getFiedThreadPool();fixedThreadPool.execute(new ReportTask(reportTaskParam,collectionLogService,collectionInfoService,verifyService,odsInboundService));//自定义的实现Runnable接口的任务类
转载于:https://www.cnblogs.com/hackxiyu/p/8760459.html
java线程池的使用相关推荐
- 四种Java线程池用法解析
四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...
- 面试必问---Java线程池8大拒绝策略
前言 谈到java的线程池最熟悉的莫过于ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的这个api,大大的简化了多线程代码的开发.而不论你用Fix ...
- Java线程池使用与原理
线程池是什么? 我们可以利用java很容易创建一个新线程,同时操作系统创建一个线程也是一笔不小的开销.所以基于线程的复用,就提出了线程池的概念,我们使用线程池创建出若干个线程,执行完一个任务后,该线程 ...
- Java线程池实现原理及其在美团业务中的实践
来自:美团技术团队 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供的线程池ThreadPoolExecuto ...
- Java线程池详解学习:ThreadPoolExecutor
Java线程池详解学习:ThreadPoolExecutor Java的源码下载参考这篇文章:Java源码下载和阅读(JDK1.8) - zhangpeterx的博客 在源码的目录java/util/ ...
- Java 线程池详解学习:FixedThreadPool,CachedThreadPool,ScheduledThreadPool...
Java常用的线程池有FixedThreadPool和CachedThreadPool,我们可以通过查看他们的源码来进行学习. Java的源码下载参考这篇文章:Java源码下载和阅读(JDK1.8) ...
- JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue .
2019独角兽企业重金招聘Python工程师标准>>> 从Java5开始,Java提供了自己的线程池.每次只执行指定数量的线程,java.util.concurrent.Thread ...
- Java线程池了解一下
前言 马上就要过年了,还在岗位上坚守"swimming"的小伙伴们顶住.博主给大家带来一篇线程池的基本使用解解闷. 为什么需要使用线程池 1.减少线程创建与切换的开销 在没有使用线 ...
- java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)
线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后 启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕, 再从队列中取出任务来执行.他 ...
- Java 线程池必知的8 大拒绝策略
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | kailing.pub/article/ind ...
最新文章
- juc java_深入理解JUC(java.util.concurrent)
- C# int.Parse()与int.TryParse():将字符串转化为整数
- 2019年6月SAP发布的未来ABAP平台的发展方向
- Linux Ubuntu 查看cpu信息
- composer使用慢的解决办法
- C语言如何捕获按下方向键
- 使用Julia进行图像处理--图像分割
- 使用 T-SQL 实现 base64 解码
- https 双向认证基本配置学习
- 金融人必须掌握的词汇
- UISlider实现背景图
- 在阿里云CentOS 7.4下安装WSTMart开源商城系统
- 分页第一页用0还是1_洗脸用冷水还是热水好?这些错误只要犯1个,你的脸就白洗了!...
- 大学英语B-必考词汇400个
- [DASCTF Apr.2023 X SU战队2023开局之战] crypto复现
- 使用Ventoy安装Deepin系统出现Error verification failed 0x1A Security violation错误
- php将excel数据导入mysql表中_【PHP】将EXCEL表中的数据轻松导入Mysql数据表
- 软工大作业·历物语(二)
- 数据分析师需要学习什么?
- 机器学习在制冷与空调方面的应用
热门文章
- ubuntu 下 object-c环境配置与hello world 编译
- Windows Server 2008 RemoteApp(四)---发布应用程序
- 移植uboot第五步:支持NORFlash
- 命令 —— awk内置变量(NF,NR,FS,FILENAME)
- TopShell管理服务
- SQL Server 游标的使用示例
- 257. Binary Tree Paths
- (一) 关于配置travis-ci持续集成python pytest测试的相关记录
- UITableView使用指南
- Mac OS—苹果搭建Android开发环境