Tomcat线程池

 

简述

  tomcat分为两部分,connector和container。connector部分组成如下:

 

 

  LimitLatch 用来限流,可以控制最大连接个数

  Acceptor 只负责【接收新的 socket 连接】 

  Poller 只负责监听 socket channel 是否有【可读的 I/O 事件】

  一旦可读,封装一个任务对象(socketProcessor),提交给 Executor 线程池处理 

  Executor 线程池中的工作线程最终负责【处理请求】 

tomcat的线程池

  Tomcat 线程池扩展了 ThreadPoolExecutor,行为稍有不同

  如果总线程数达到 maximumPoolSize这时不会立刻抛 RejectedExecutionException 异常而是再次尝试将任务放入队列,如果还失败,才抛出 RejectedExecutionException 异常 

tomcat配置

  在tomcat的server.xml文件我们可以配置相关参数

 

  关键的是配置Executor线程池

 

 

  maxQueueSize可以设置为无界队列,如果是无界队列,那是不是就没有救急线程了呢

  tomcat的做法是这样的

 

 

posted @ 2021-08-20 09:55  艾尔夏尔-Layton  阅读(129)  评论(0编辑  收藏  举报