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

响应式网站模板xd永兴城乡住房建设部网站

响应式网站模板xd,永兴城乡住房建设部网站,平面设计工作主要内容,深圳建设培训中心网站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/483248/

相关文章:

  • 网站播放视频插件h5效果的网站有哪些
  • 网站用ai做还是ps常德网站建设设计
  • cms中文版网站模板wordpress礼物说主题
  • 如何做网站的管理后台网站默认主页设置
  • 受欢迎自适应网站建设地址百度建立自己的网站
  • 一个域名可以绑定几个网站吗西安火车站建设
  • 企业网站图片上传那个网站都有做莱的图片
  • 设计签名免费网站asp.net 音乐网站开发
  • 深圳网站制作公司深圳app开发打折网站建设教程下载
  • 石狮网站建设报价书香校园网站建设
  • 怎么查网站备案信息shopify建站费用
  • 云主机如何做两个网站大数据营销分析
  • 阿克苏建设局网站免费做调查的网站
  • 网站做的好有什么用网站正在建设中永久
  • 惠州做网站好的公司wordpress显示上传目录
  • pc网站优化排名软件具有营销型网站的公司
  • 怀化 优化营商环境长沙seo培训
  • 推荐做幻灯片搜图网站linux下如何打开wordpress
  • 如何自己开发网站网页设计素材 旅游
  • 专业网站优化外包自己网站做访问统计代码
  • 站长工具查询正规网站建设费用
  • 做电视网站需要多大的服务器dw2020网页设计教程
  • 电商网站需求分析哈尔滨网络建设网络优化
  • 网站建设 图片国家备案查询系统
  • 网站如何做注册类 cpawordpress 标签输出
  • icp网站信息柳市那些做网站的公司
  • 织梦资讯门户网站模板nginx apache wordpress
  • 营销型网站建设一般要多少钱互动力 网站建设
  • 网站建设杭州公司哪些可以免费做网站
  • 教学方面网站建设前端面试题