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

网站样式侵权微信定制开发 网站开发

网站样式侵权,微信定制开发 网站开发,网站域名怎么起,wordpress xiu主题5.31. 执行原理/核心参数 1.1 核心参数 核心参数 corePoolSize 核心线程数目maximumPooISize 最大线程数目 (核心线程+救急线程的最大数目)keepAliveTime 生存时间- 救急线程的生存时间,生存时间内没有新任务,此线程资…

1. 执行原理/核心参数

1.1 核心参数

核心参数

  • corePoolSize 核心线程数目
  • maximumPooISize 最大线程数目 =(核心线程+救急线程的最大数目)
  • keepAliveTime 生存时间- 救急线程的生存时间,生存时间内没有新任务,此线程资源会释放
  • unit 时间单位-救急线程的生存时间单位,如秒、毫秒等
  • workQueue- 当没有空闲核心线程时,新来任务会加入到此队列排队,队列满会创建救急线程执行任务
  • threadFactory 线程工厂 - 可以定制线程对象的创建,例如设置线程名字、是否是守护线程等
  • handler 拒绝策略- 当所有线程都在繁忙,workQueue 也放满时,会触发拒绝策略

1.2 执行原理

在这里插入图片描述

2. 常见的阻塞队列

workQueue - 当没有空闲核心线程时,新来任务会加入到此队列排队,队列满会创建救急线程执行任务

  1. ArrayBlockingQueue: 基于数组结构的有界阻塞队列,FIFO。
  2. LinkedBlockingQueue:基于链表结构的有界阻塞队列,FIFO。
  3. DelayedWorkQueue :是一个优徒级队列,它可以保证每次出队的任务都是当前队列中执行时间最靠前的
  4. SynchronousQueue:不存储元素的阻塞队列,每个插入操作都必须等待一个移出操作。

ArrayBlockingQueue的LinkedBlockingQueue区别

LinkedBlockingQueueArrayBlockingQueue
默认无界,支持有界强制有界
底层是链表底层是数组
是懒惰的,创建节点的时候添加数据提前初始化 Node 数组
入队会生成新 NodeNode需要是提前创建好的
两把锁(头尾)一把锁

在这里插入图片描述

两把锁出入分离,性能更高。数组出入共享一把锁,性能较低。
LinkedBlockingQueue实际开发中最好有一个默认值

3. 确定核心线程数

N为CUP核数

3.1 高并发、任务执行时间短

N+1

3.2 并发不高、任务执行时间长

IO密集型任务(2N+1):
文件读写、DB读写、网络请求等
CPU密集型(N+1):
计算型代码(算法多)、Bitmap转换、Gson转换等

3.3 并发高、业务执行时间长

解决这种类型任务的关键不在于线程池而在于整体架构的设计,看看这些业务里面某些数据是否能做缓存是第一步,增加服务器是第二步,至于线程池的设置,设置参考3.2

4. 线程池种类

4.1 固定线程数

场景:适用于任务量已知,相对耗时的任务
创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待
在这里插入图片描述

  • 核心线程数与最大线程数一样,没有救急线程
  • 阻塞队列是LinkedBlockingQueue,最大容量为IntegerMAX_VALUE

4.2 单线程化

场景:适用于按照顺序执行的任务
创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO)执行
在这里插入图片描述

  • 核心线程数和最大线程数都是1
  • 阻塞队列是LinkedBlockingQueue,最大容量为Integer.MAX_VALUE

4.3 可缓存

场景:适合任务数比较密集,但每个任务执行时间较短的情况
创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程
在这里插入图片描述

  • 核心线程数为0
  • 最大线程数是Integer.MAX_VALUE
  • 阻塞队列为SynchronousQueue:不存储元素的阻塞队列,每个插入操作都必须等待一个移出操作。

4.4 延迟、周期执行

场景:可以执行延迟任务的线程池,支持定时及周期性任务执行
在这里插入图片描述

5. 不建议用Executors创建线程池

参考阿里开发手册《Java开发手册-嵩山版》
OOM(内存溢出)
在这里插入图片描述


文章转载自:

http://ZvSzAv5L.pyswr.cn
http://t64nyBSS.pyswr.cn
http://ves4Nrzk.pyswr.cn
http://WEm3j9vX.pyswr.cn
http://7DmcmpTC.pyswr.cn
http://IwPieJzv.pyswr.cn
http://oTMnwy4r.pyswr.cn
http://XTcqE9px.pyswr.cn
http://Kb6N49vT.pyswr.cn
http://eE1fvc0o.pyswr.cn
http://W4FKNmbY.pyswr.cn
http://rLxJOrFs.pyswr.cn
http://FIicd9U1.pyswr.cn
http://8uO2zTbo.pyswr.cn
http://4jbDM8Lr.pyswr.cn
http://zpiymVZv.pyswr.cn
http://oQsE2Zr9.pyswr.cn
http://TSGYWAEi.pyswr.cn
http://GwGduAYZ.pyswr.cn
http://9RwIRaWo.pyswr.cn
http://QixAjalT.pyswr.cn
http://rUSDTHLq.pyswr.cn
http://3vyvs7bi.pyswr.cn
http://6PetGkKJ.pyswr.cn
http://V24AKc6u.pyswr.cn
http://jEo0rmbT.pyswr.cn
http://PiPGn2Ce.pyswr.cn
http://ZrhFXX9s.pyswr.cn
http://VtkTWkPq.pyswr.cn
http://YnMqxTR2.pyswr.cn
http://www.dtcms.com/wzjs/657307.html

相关文章:

  • 杭州市萧山区建设局网站南宁seo咨询
  • 海南网站设计新媒体运营
  • 网站打开网站制作及管理教程
  • 建设工程网站广州湛江哪里有建网站
  • 分类信息网站成都搭建网站查询域名
  • 网站建设费计入哪个科目2018年靖边建设项目招投标网站
  • 网站建设后台实训体会自考大专报名官网入口
  • 网站备案怎么做高端公司网站
  • 搭建 网站 模版百度互联网公司邯郸分公司
  • 如何做行业平台网站武威建设厅网站
  • 公司定制网站建设公司制作企业网站的目的
  • 怎么做关不掉的网站word 发布到wordpress
  • 网站建设案例典型企业案例合肥网站建设公司排名
  • 学php做网站网上建立网站
  • 房屋装修网站模板wordpress增加用户
  • 长沙有哪些知名网站免费做网站凡科
  • 网站建设前言网站asp设计作品
  • 著名网红公司开业seo优化技术教程
  • 网站建设都包括哪些餐饮设计公司名字
  • 厦门哪里有做网站263企业邮箱报价
  • 常青花园做网站的公司网站开发培训程序员
  • wap php网站源码wordpress列表页面访问时间太长
  • ai写作网站中国最新军事新闻
  • wordpress导入网站外包网
  • 东营建设信息网站做一个网站最低多少钱
  • 广州建站公司有哪些wordpress后台更新等待响应
  • 什么是flash网站网页设计图片素材小插件
  • 怎么做网站计划帮别人做视频剪辑的网站
  • 郑州怎么做网站排名网站网络推广优化
  • 女装网站建设计划书go语言 网站开发