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

佛山顺德网站建设公司成都网站建设kaituozu

佛山顺德网站建设公司,成都网站建设kaituozu,太原做网站,做的好的大学生旅行有哪些网站好1. 一个 SpringBoot 项目能同时处理多少请求?tomcat容器, 200 次。 2. 怎么来的? 而点击这些线程,查看其堆栈消息,可以看到 Tomcat、threads、ThreadPoolExecutor 等关键字 基于“短时间内有 200 个请求被立马处理…

1. 一个 SpringBoot 项目能同时处理多少请求?tomcat容器,

200 次。

2. 怎么来的?

而点击这些线程,查看其堆栈消息,可以看到 Tomcat、threads、ThreadPoolExecutor 等关键字
在这里插入图片描述
基于“短时间内有 200 个请求被立马处理的”这个现象,结合你背的滚瓜烂熟的、非常扎实的线程池知识,你先大胆的猜一个:Tomcat 默认核心线程数是 200。

从这个调用栈中,由于我们要找的是 Tomcat 线程池相关的源码,所以第一次出现相关关键字的地方就是这一行:

org.apache.Tomcat.util.threads.ThreadPoolExecutor.Worker#run

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
corePoolSize,核心线程数,值为 10。

maximumPoolSize,最大线程数,值为 200。

而且基于 maximumPoolSize 这个参数,你往前翻代码,会发现这个默认值就是 200:
队列长度,值为 Integer.MAX_VALUE。

在这里插入图片描述
在这里插入图片描述
这个方法里面,标号为 ① 的地方,就是判断当前工作线程数是否小于核心线程数,小于则直接调用 addWorker 方法,创建线程。

标号为 ② 的地方主要是调用了 offer 方法,看看队列里面是否还能继续添加任务。

如果不能继续添加,说明队列满了,则来到标号为 ③ 的地方,看看是否能执行 addWorker 方法,创建非核心线程,即启用最大线程数。

把这个逻辑捋顺之后,接下来我们应该去看哪部分的代码,就很清晰了。

主要就是去看 workQueue.offer(command) 这个逻辑。

如果返回 true 则表示加入到队列,返回 false 则表示启用最大线程数嘛。

这个 workQueue 是 TaskQueue,看起来一点也不眼熟:
在这里插入图片描述
当然不眼熟了,因为这个是 Tomcat 自己基于 LinkedBlockingQueue 搞的一个队列。

在这里插入图片描述

重点:题的答案就藏在 TaskQueue 的 offer 方法里面。

在这里插入图片描述
parent 就是 Tomcat 线程池,通过其 set 方法可以知道,是在线程池完成初始化之后,进行了赋值。

也就是说,你可以理解为,在 Tomcat 的场景下,parent 不会为空。

标号为 ② 的地方,调用了 getPoolSizeNoLock 方法:
就表明当前线程池的线程数已经是配置的最大线程数了,那就调用 offer 方法,把当前请求放到到队列里面去。

标号为 ③ 的地方,是判断已经提交到线程池里面待执行或者正在执行的任务个数,是否比当前线程池的线程数还少。

如果是,则说明当前线程池有空闲线程可以执行任务,则把任务放到队列里面去,就会被空闲线程给取走执行。

然后,关键的来了,标号为 ④ 的地方。

重点:如果当前线程池的线程数比线程池配置的最大线程数还少,则返回 false。

前面说了,offer 方法返回 false,会出现什么情况?
在这里插入图片描述
是不是直接开始到上图中标号为 ③ 的地方,去尝试添加非核心线程了?

也就是启用最大线程数这个配置了。

3. JDK线程池和Tomcat线程池原理不一样

JDK 的线程池,是先使用核心线程数配置,接着使用队列长度,最后再使用最大线程配置。
Tomcat 的线程池,就是先使用核心线程数配置,再使用最大线程配置,最后才使用队列长度。

https://mp.weixin.qq.com/s/PXC4pFE_ZpydBAzCJZmiqQ

http://www.yayakq.cn/news/383628/

相关文章:

  • 注册做网站的公司公司关于网站建设的通知
  • 网站建设报告书河北省石家庄市官网
  • wordpress本地更换为网站域名做网站公司选哪家
  • 做网站找图片小小视频在线观看免费播放
  • 有什么做论文的网站如何做购物网站的限购功能代码
  • 怎么制作学校网站景观设计公司名称
  • 营销型网站建设调查表建网站网络公司
  • 电子商务网站建设的语言及特点乐陵seo营销
  • 工具刷网站排刷排名软件交互设计网站案例
  • 大型网站seo课程如何做返利网站
  • 工程造价信息网站最好建设网站
  • 在网站开发中进行用户管理网站建设费缴税
  • 高新区建设局网站中山小榄网站建设
  • 电脑自带的做网站叫什么软件昆明做网站软件
  • wordpress 插件 上传哈尔滨网站seo
  • 网站开发需要配置哪些人员wordpress首页关键词添加
  • 网站开发的网页模板建设工程专业承包交易中心网站
  • 北京网站设计公司济南兴田德润团队怎么样四川成都高端网站建设
  • 哪个网站做图找图片定制网站对公司有什么好处
  • 菏泽做网站优化的百度搜索引擎广告投放
  • 网站首页被k还有救吗旅游营销网站开发
  • 网站建设分解结构网站设置主页
  • 请多记几个本站域名防止失联企业服务网站建设方案
  • 新余商城网站建设php一个企业网站多钱
  • 如何发布一个网站网上购物的好处
  • 域名之后怎么做网站做一个软件需要哪些步骤
  • 网站广告制作网页设计好的网站
  • 局域网站点建设方案中文域名解析网站
  • 自己在公司上班做网站宣传 侵权吗seo推广工具
  • 东莞建设网站综合服务平台石家庄seo网站管理