servlet是线程安全的吗

 我来答
匿名用户
2016-04-15
展开全部
不是线程安全的,因为它采用多线程方式运行其service方法.也就是说,当多个用户并发访问的时候,可能存在线程交互的问题.
所以我们应该将servlet里写入的同步代码块写上Synchorazid关键字.可是这样就会造成资源的浪费,所以应该尽量减少同步代码块.
惠连枝弭茶
2020-03-04 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:757万
展开全部
多线程和单线程Servlet具体区别:多线程下每个线程对局部变量都会有自己的一份copy,这
样对局部变量的修改只会影响到自己的copy而不会对别的线程产生影响,线程安全的。但是对于
实例变量来说,由于servlet在Tomcat中是以单例模式存在的,所有的线程共享实例变量。多个线程对共享资源的访问就造成了线程不安全问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梁敏慧皇弘
2020-03-25 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:25%
帮助的人:644万
展开全部
当web容器(如tomcat)接收客户端的http请求时,web容器会从线程池中取一个线程并初始化servlet对象之后调用service方法。重要的是Servlet对象是单例模式即web容器中只有一个servlet实例对象。如果多个http请求(request)请求同一个servlet
就会形成多个线程同时并发调用同一个service方法
如果此时servlet中定义了实例变量或静态变量,那么可能会发生线程安全问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曾镶桖t8
2009-12-14 · 超过27用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:83.7万
展开全部

中间件已经为servlet实现了多线程
每一个用户的访问都是一个新的线程
都是线程安全的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鄂郁蒉星
2019-07-01 · TA获得超过4402个赞
知道大有可为答主
回答量:3074
采纳率:34%
帮助的人:428万
展开全部
是线程安全的。。。所以现在基于Servlet的Struts框架也是线程安全的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式