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

论tomcat线程池和spring封装的线程池

Tomcat 中的线程池是什么?

内部线程池:Tomcat 确实有一个内部的线程池,用于处理 HTTP 请求,通常是org.apache.tomcat.util.threads.ThreadPoolExecutor 类的实例。这个线程池专门用于处理进入的 HTTP 请求和发送响应。可以通过 Tomcat 的配置文件(如 server.xml)来调整这个线程池的参数,比如最大线程数、最小线程数等。这些配置影响的是 Tomcat 服务器的性能,而不是应用层面的线程处理。

Spring 中的线程池是什么?

应用层面的线程池:Spring 提供的线程池,是用于处理应用程序中的异步任务、定时任务等。这些线程池由开发人员配置和管理,与处理 HTTP 请求无关。可以通过 Spring 的配置文件或注解来灵活配置。

Tomcat 中的线程池和spring线程池区别

使用场景不同:Tomcat 线程池主要是内部自带的连接池为了处理 HTTP 请求,而不是在代码应用层面的处理我们的任务,而spring线程池就是我们平常在代码中使用的处理应用层面任务的

非核心线程创建时机不同:Tomcat的执行流程是当核心线程满了就直接创建非核心线程处理,而spring核心线程满了直接丢队列,如果队列满了在创建非核心线程处理

既然他们非核心线程创建时机不同,在某些业务场景下可以使用tomcat线程池执行任务吗?

答案肯定是不推荐,因为Tomcat 线程池主要为了处理 HTTP 请求,如果非要使用tomcat的线程池处理任务,可能会导致资源争抢影响性能,并且它的线程池配置在配置文件中固定的不够灵活,也不能随时调整线程数和拒绝策略,使用他处理代码任务只会变得更复杂,

http://www.lryc.cn/news/431451.html

相关文章:

  • 阿里P7大牛整理自动化测试高频面试题
  • vue如何实现路由缓存
  • 基于Openjdk容器打包运行jar程序
  • DNN学习平台(GoogleNet、SSD、FastRCNN、Yolov3)
  • HTTP协议(超文本传输协议)
  • FFmpeg的日志系统(ubuntu 环境)
  • 浅析VO、DTO、DO、PO
  • android kotlin基础复习 enum
  • 个股场外期权怎么交易?场外期权交易流程是怎样的?
  • 企业选ETL还是ELT架构?
  • 【Spring Boot 3】【Web】同时启用 HTTP 和 HTTPS
  • 【Android】最好用的网络库:Retrofit
  • SpringBoot自动化配置原理
  • 2024级新生数组字符串专题题解
  • C++学习 虚函数,容器
  • MacTalk 测评通义灵码,如何实现“微信表情”小功能?
  • Canvas Confetti - 免费开源的五彩纸屑飞舞特效的 JS 库,多用于在网页上实现欢乐庆祝的场景
  • [数据集][目标检测]智慧牧场猪只检测数据集VOC+YOLO格式16245张1类别
  • GS-SLAM论文阅读笔记--LoopSplat
  • Mysql数据库表结构迁移PostgreSQL
  • 店匠科技携手Stripe共谋电商支付新篇章
  • 大众(奥迪)汽车继电器编号对照表
  • 《佛脚闪卡watch》——Apple Watch上的高效学习助手
  • 六、桥接模式
  • Vue eslint 语法检测问题
  • QT Creater实现国庆节主题项目【0基础完成版】
  • Qt 加载 WPS 时提示要登录
  • vue3的el-tree的default-checked-keys无法勾选的问题解决
  • class 5: vue.js 3 v-model和表单输入
  • 了解一下HTTP 与 HTTPS 的区别