目录
- 14.1 并发
- 14.2 Servlet并发机制
- 14.3 Tomcat并发特点
- 14.4 Tomcat线程模型
14.1 并发
并发(Concurrent)是指多个任务交替执行的现象,把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状态
14.2 Servlet并发机制
Servlet对象在Tomcat服务器是单实例多线程的,Servlet实例对应一个线程池,一个请求选择一个线程执行Service方法,若多个请求都选中同一个线程时需要排队
Servlet两种处理模式
- 串行处理,依次处理请求,效率低
- 并行处理,同时处理请求,效率高
14.3 Tomcat并发特点
- 单实例,在整个Servlet容器中只会有一个Servlet的实例对象
- 多线程,请求的处理由多个工作线程来完成的,可以同时进行处理
- 线程不安全,Servlet容器默认不加锁操作,当多个线程访问同一个Servlet实例对象时线程不安全
14.4 Tomcat线程模型
Tomcat支持四种接收请求的处理方式,即BIO,NIO,APR,AIO
线程模型 - BIO 同步阻塞
![在这里插入图片描述](https://img-blog.csdnimg.cn/9345714293ba466db081bb63dce7dbcc.png)
线程模型 - NIO 同步非阻塞
![在这里插入图片描述](https://img-blog.csdnimg.cn/f60dcc1b413b4d8da26b9b1c5366ffa5.png)
线程模型 - AIO 异步非阻塞模型
线程模型 - ARP 同步非阻塞模型,与NIO底层一致
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)