当前位置: 首页 > news >正文

JAVA-线程池技术

目录

概念

什么是线程?

什么是线程池?

线程池出现背景

线程池原理图

JAVA提供线程池

线程池参数

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。


概念

什么是线程?

是操作系统能够进行运算调度的最小单位。(例如: cpu 对前端发往后端的一个请求的处理叫一个线程)

什么是线程池?

百度百科:线程池

线程池(Thread Pool)是一种基于池化思想管理线程的工具,它维护多个线程。

线程池出现背景

1、高并发、处理时间长、效率低

2、摩尔定律:处理器的性能大约每两年翻一倍(硬件成本降低)

线程池原理图

线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。.

JAVA提供线程池

Java通过Executors提供四种线程池,分别为:

newCachedThreadPool

可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。

newFixedThreadPoo

创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。

newScheduledThreadPool

创建一个定长线程池,支持定时及周期性任务执行。

newSingleThreadExecutor

单线程化的线程池,用唯一的工作线程来执行,任务按照指定顺序(FIFO,LIFO,优先级)执行。

 

 

线程池参数


1 、 corePoolSize (线程池基本大小)必须大于或等于 0 ;
2 、 maximumPoolSize (线程池最大大小)必须大于或等于 1 ,必须大于或等 等于 corePoolSize ;
3 、 keepAliveTime (线程存活保持时间)必须大于或等于 0 ;
4 、 unit (存活时间的单位)
5 、 workQueue (任务队列)不能为空;
6 、 threadFactory (线程工厂)不能为空,默认为 DefaultThreadFactory 类
7 、 handler (线程饱和策略)不能为空,默认策略ThreadPoolExecutor.AbortPolicy
 

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。

http://www.lryc.cn/news/1517.html

相关文章:

  • 【C++】从0到1入门C++编程学习笔记 - 提高编程篇:STL常用算法(算术生成算法)
  • 【C++】static成员
  • Python Scrapy 爬虫简单教程
  • 【DOCKER】容器概念基础
  • 第九层(16):STL终章——常用集合算法
  • 一起学习用Verilog在FPGA上实现CNN----(六)SoftMax层设计
  • pixhawk2.4.8-APM固件-MP地面站配置过程记录
  • 【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
  • [Arxiv 2022] A Novel Plug-in Module for Fine-Grained Visual Classification
  • RocketMQ Broker消息处理流程及部分源码解析
  • Java面试题:Java集合框架
  • 时间之间的比较与计算相差年、月、日、小时、分钟、毫秒、纳秒以及判断闰年--LocalDateTime
  • PyTorch学习笔记:nn.L1Loss——L1损失
  • Java程序设计-ssm企业财务管理系统设计与实现
  • 疑难杂症篇(二十一)--Ubuntu18.04安装usb-cam过程出现的问题
  • npm-npm i XX --save 和--save-dev
  • 可重构或可调谐微波滤波器技术
  • 医院智能化解决方案-门(急)诊、医技、智能化项目解决方案
  • 判断元素是否在可视区域
  • 告别传统繁杂的采购合同管理 打造企业自动化采购管理模式
  • 【prism】路由事件映射到Command命令
  • 面向对象的基本概念和方法
  • 数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)
  • 1.面向对象和类的关系?2.什么是Promise、3.Promise和async、await的关系
  • 【程序化天空盒】过程记录01:日月 天空渐变 大气散射
  • 无线通信中的轨道角动量
  • 以后更新功能,再也不用App发版了!智能小程序将为开发者最大化减负
  • C++之类模板全特化和偏特化
  • Python 手写数字识别 MNIST数据集下载失败
  • 华为机试题:HJ61 放苹果(python)