java web 多线程_java web多线程

在java web方面,一直以来有一个困惑,用tomcat作为应用服务器。最开始接触学习的是直接jsp中嵌入可执行的java代码执行请求。然后有后端单独的servlet,可以做到jsp和后台代码分离编写。还有一些框架ssh、spring mvc,spring boot等。目前是vue + spring boot做到真正的前后端开发。

前端的http请求,经过nginx转发到后台,后台收到请求后,用一个线程去执行此请求。对于spring boot,是默认有一个线程池,线程数量大小是200个。这是一个有线程池的地方。

在spring中,bean都是默认单例的,那么假设连接的是mysql,也有阿里的一套druid可以是处理sql请求的线程池。

比如这时候,在代码内部用线程池ThreadPoolExecutor,这个配置的线程池用@Bean(value = "ThreadPool")方式作为bean。

那么,从后端收到前端的请求之后,请求进来就耗费了tomcat默认线程池中200个线程中的一个线程,假设是线程A,这个线程后续的执行,又都是怎么样的过程呢?

这个线程执行的代码依然是后端的一套代码,共用的同一个单例bean,遇到这种线程池的配置如自定义的@Bean(value = "ThreadPool")业务线程池,还有数据库mysql的druid线程池。这两个线程池,是在线程A里面的线程么?【大概意思就是依附于线程A存在,当A执行完毕后销毁了它们也就销毁了?】

一直以来很疑惑,水平较菜,求解答或者指引方向,勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值