struts1线程安全怎么实现的(越详细越好)
多谢 各位大侠
struts1的每一个请求,对于同一个action都是同一个对象,所以线程不安全。如果用了全局变量,这个全局变量很可能会同时受多个请求的影响。
所以尽量不要用全局变量,用了就要加锁。
struts2的每一个请求,对于同一个action都会建立不同的对象。所以请求之间不会彼此影响。用全局变量就没问题了
不要用全局变量
1.实现Runnable接口,在run方法中写业务,excute中启动线程。
2.与Spring集成@Scope("prototype"),对应每次请求产生一个新的action实例。
struts1是通过servlet来实现的,不是线程安全的
谁告诉你,struts1是线程安全的呢? struts2.x才是
具体看一下这篇文章吧http://xiaozhen1900.blog.163.com/blog/static/174173257201132715124149/
早不用了
多么老的项目,多么痛的领悟
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(8)
多谢 各位大侠
struts1的每一个请求,对于同一个action都是同一个对象,所以线程不安全。如果用了全局变量,这个全局变量很可能会同时受多个请求的影响。
所以尽量不要用全局变量,用了就要加锁。
struts2的每一个请求,对于同一个action都会建立不同的对象。所以请求之间不会彼此影响。用全局变量就没问题了
不要用全局变量
1.实现Runnable接口,在run方法中写业务,excute中启动线程。
2.与Spring集成@Scope("prototype"),对应每次请求产生一个新的action实例。
struts1是通过servlet来实现的,不是线程安全的
谁告诉你,struts1是线程安全的呢? struts2.x才是
具体看一下这篇文章吧http://xiaozhen1900.blog.163.com/blog/static/174173257201132715124149/
早不用了
多么老的项目,多么痛的领悟