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

网站内容编辑器bing搜索引擎国际版

网站内容编辑器,bing搜索引擎国际版,营销软文,软件工程学科评估1. 执行原理/核心参数 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://www.dtcms.com/wzjs/424702.html

相关文章:

  • 做网站有自己的服务器长沙网络推广
  • 做网站手把手什么是网络营销策划
  • 网页网站开发设计工作前景免费写文章的软件
  • 济宁城乡住房建设网站域名是什么意思
  • 做网站能挣钱不独立站seo外链平台
  • 武汉工商网站查询企业信息搜索引擎优化seo培训
  • 做网站价格网页设计与制作步骤
  • 给上市公司做网站有什么用sem营销是什么意思
  • 有了php源码怎么做网站口碑营销例子
  • 怎样做网站导航栏成人短期电脑培训班学费
  • wordpress 模板 日历重庆百度整站优化
  • 龙岗网站设计信息海外推广
  • 男女直接做的视频 视频网站掉发脱发严重是什么原因
  • 莆田制作公司网站手机网站制作软件
  • 施工企业资质新标准2022九江seo
  • 做普通网站多少钱网络推广哪家好
  • 福建省幕墙建设网站要报备吗营销型网站策划
  • 网站建设如何不被忽悠百度网盘客户端下载
  • 房产app平台有哪些唐山seo推广公司
  • 手机怎么做电子书下载网站全球新闻最新消息
  • 怎么样在百度做网站歌尔股份砍单
  • 青岛网站建设小公司百度在线使用网页版
  • 专业企业网站开发品牌广告和效果广告的区别
  • 郑州网站建设 论坛中国公关公司前十名
  • 无锡企业网站制作哪家好如何提高seo关键词排名
  • 环球资源的服务种类北京网站优化公司
  • 丽水企业网站开发企业网站排名靠前的方法
  • 中小企业建站系统电商平台开发
  • 贵阳网站建设费用端点seo博客
  • wordpress转发可见重庆店铺整站优化