首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Struts 2动作线程安全吗?

Struts 2动作线程安全吗?
EN

Stack Overflow用户
提问于 2014-05-02 05:27:54
回答 3查看 3.4K关注 0票数 2

它说,由于Struts 2动作bean被初始化,每个请求都是线程安全的。但是,如果多个线程在同一个HTTP请求中使用这个bean,怎么办?所以,除非我们以线程安全的方式编写bean,否则它并不是真正的线程安全对吗?

下面是struts 2的文档,当比较Struts 1和Struts 2时,

代码语言:javascript
复制
Struts 2 Action objects are instantiated for each request, so there are no thread-safety issues

struts 2文档

我的dought是Struts 2操作对象被实例化为每个请求,但它仍然不线程安全,对吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-02 09:26:16

在我看来,web应用程序是使用servlet技术设计的。Struts2支持servlet规范,至少为2.4。web服务器使用HTTP协议与客户端通信,并管理线程。您也知道,每个请求由容器创建的线程不超过一个。除了BackgroundProcess之外,框架不创建任何线程,看起来它是以线程安全的方式进行的。您不负责管理操作bean,该框架是为您做的。所以,如果它声称它是线程安全的,你可以信任它,如果你有相反的证据,你可以妥协。根据这些信息,您可以得出结论,您可以使用线程安全的托管bean。

票数 3
EN

Stack Overflow用户

发布于 2018-03-27 09:16:20

对于每个请求,将创建新的Action类实例。因此,struts 2操作类不存在线程安全问题。

票数 1
EN

Stack Overflow用户

发布于 2018-10-23 03:34:41

是的,线是安全的。

Struts1操作类是单例的,而不是线程安全的,这使得开发人员需要格外小心,以避免由于多线程而产生的任何副作用。每个请求都会实例化Struts2操作类,因此不存在多线程,并使其线程安全。 区块报价

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23421359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档