Tomcat线程池和Java线程池区别
时间: 2023-11-14 12:59:52 浏览: 179
基于tomcat的连接数与线程池详解
Tomcat线程池和Java线程池的区别在于其任务队列的实现方式。Java原生线程池使用的是阻塞队列,而Tomcat线程池则使用自定义的任务队列。
Java原生线程池的执行流程是:首先判断当前线程数量是否小于核心线程数,如果是则创建核心线程执行任务;否则尝试将任务放入阻塞队列,如果成功就返回,否则判断当前线程数量是否小于最大线程数量,如果是则创建空闲线程执行任务,否则执行拒绝策略。
而Tomcat线程池继承了Java原生的ThreadPoolExecutor,并且使用自定义的任务队列LinkedBlockingQueue。这个自定义的任务队列在设计上更适合处理io密集型任务。
阅读全文