tomocat的工作原理的问题

学-无止境 发布于 2016/11/28 08:53
阅读 256
收藏 1

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

各位大牛你们好,最近在学习java web,有一个问题想请教一下大家,tomcat是具有并行性的,也就是多线程处理用户的请求,可以同时处理多个用户的请求。那么我就有一个疑惑了,是不是每次接受用户的请求tomcat都会创建一个处理用户的请求相关的servlet对象呢?举个例子说:在同一时刻有两个用户发出相同的请求,这时tomcat是不是就会创建两个相同的servlet对象去处理请求呢????还是说不管同一时刻有多个请求,tomcat的servlet(处理用户请求的这个servlet)对象只有一个,多个线程需要去抢占这个servlet资源呢?这两种处理机制哪种是正确的呢?还是说都不是。麻烦各位朋友帮我解答一下。在这里先谢谢大家。好人一生平安。。
加载中
0
螃蟹大叔
螃蟹大叔

servlet是单例的,你研究这个建议你去看一看tomcat怎么使用的nio、bio、aio,tomcat默认是使用bio模型的,你可以了解一下java的这三个模型,http://stevex.blog.51cto.com/4300375/1284437

bio模型即同步阻塞,所以每个请求会产生一个线程,但serlet设计成无状态的对象就不会存在并发问题了,你那个多线程抢占servlet资源,好好去看一下java的多线程,去理解一下多线程。比如在内存中有一个内存所有线程都要访问、使用、修改等等

学-无止境
学-无止境
好的,谢谢你。
t
tmcy
表达得很不错
1
风筝上的少年
风筝上的少年
servlet是单例的。
学-无止境
学-无止境
一语惊醒梦中人呀!知道了,谢谢你
0
愤怒的码农0
愤怒的码农0
对于tomcat的线程来说,不是每次都创建。 和连接池的原理一样
学-无止境
学-无止境
知道了,谢谢你
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部