一、在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线程池的使用相关推荐

  1. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  2. 面试必问---Java线程池8大拒绝策略

    前言 谈到java的线程池最熟悉的莫过于ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的这个api,大大的简化了多线程代码的开发.而不论你用Fix ...

  3. Java线程池使用与原理

    线程池是什么? 我们可以利用java很容易创建一个新线程,同时操作系统创建一个线程也是一笔不小的开销.所以基于线程的复用,就提出了线程池的概念,我们使用线程池创建出若干个线程,执行完一个任务后,该线程 ...

  4. Java线程池实现原理及其在美团业务中的实践

    来自:美团技术团队 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供的线程池ThreadPoolExecuto ...

  5. Java线程池详解学习:ThreadPoolExecutor

    Java线程池详解学习:ThreadPoolExecutor Java的源码下载参考这篇文章:Java源码下载和阅读(JDK1.8) - zhangpeterx的博客 在源码的目录java/util/ ...

  6. Java 线程池详解学习:FixedThreadPool,CachedThreadPool,ScheduledThreadPool...

    Java常用的线程池有FixedThreadPool和CachedThreadPool,我们可以通过查看他们的源码来进行学习. Java的源码下载参考这篇文章:Java源码下载和阅读(JDK1.8) ...

  7. JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue .

    2019独角兽企业重金招聘Python工程师标准>>> 从Java5开始,Java提供了自己的线程池.每次只执行指定数量的线程,java.util.concurrent.Thread ...

  8. Java线程池了解一下

    前言 马上就要过年了,还在岗位上坚守"swimming"的小伙伴们顶住.博主给大家带来一篇线程池的基本使用解解闷. 为什么需要使用线程池 1.减少线程创建与切换的开销 在没有使用线 ...

  9. java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)

    线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后 启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕, 再从队列中取出任务来执行.他 ...

  10. Java 线程池必知的8 大拒绝策略

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | kailing.pub/article/ind ...

最新文章

  1. juc java_深入理解JUC(java.util.concurrent)
  2. C# int.Parse()与int.TryParse():将字符串转化为整数
  3. 2019年6月SAP发布的未来ABAP平台的发展方向
  4. Linux Ubuntu 查看cpu信息
  5. composer使用慢的解决办法
  6. C语言如何捕获按下方向键
  7. 使用Julia进行图像处理--图像分割
  8. 使用 T-SQL 实现 base64 解码
  9. https 双向认证基本配置学习
  10. 金融人必须掌握的词汇
  11. UISlider实现背景图
  12. 在阿里云CentOS 7.4下安装WSTMart开源商城系统
  13. 分页第一页用0还是1_洗脸用冷水还是热水好?这些错误只要犯1个,你的脸就白洗了!...
  14. 大学英语B-必考词汇400个
  15. [DASCTF Apr.2023 X SU战队2023开局之战] crypto复现
  16. 使用Ventoy安装Deepin系统出现Error verification failed 0x1A Security violation错误
  17. php将excel数据导入mysql表中_【PHP】将EXCEL表中的数据轻松导入Mysql数据表
  18. 软工大作业·历物语(二)
  19. 数据分析师需要学习什么?
  20. 机器学习在制冷与空调方面的应用

热门文章

  1. ubuntu 下 object-c环境配置与hello world 编译
  2. Windows Server 2008 RemoteApp(四)---发布应用程序
  3. 移植uboot第五步:支持NORFlash
  4. 命令 —— awk内置变量(NF,NR,FS,FILENAME)
  5. TopShell管理服务
  6. SQL Server 游标的使用示例
  7. 257. Binary Tree Paths
  8. (一) 关于配置travis-ci持续集成python pytest测试的相关记录
  9. UITableView使用指南
  10. Mac OS—苹果搭建Android开发环境