在线326人
首页
主题表
培训咨询
标签
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
云架构等伸缩性讨论
上一主题
现在有个项目,我明白servlet是多线程的,当servlet中使用一个业务对象时,此业务对象拥有自己的属性,这样并发调用时,此业务对象是不是线程不安全的啊?也就是说,此业务对象的属性会出现错误啊??..
下一主题
昨天,北京奥运会门票面向境内公众第二阶段预售正式启动。上午一开始,公众提交申请空前踊跃。上午9时至10时,官方票务网站的浏览量达到了800万次,由于瞬间访问数量过大,系统应对不畅,造成很多申购者..
Go
共有
3
回复(
1
页) 阅读119次
前往下页:
finikes
发表文章:
注册时间: 2005年01月23日
悄悄话
个人博客
当前离线
java web线程安全的疑问
2007年12月24日 19:39
1
顶一下
java web线程安全的疑问
假设servlet中需要访问某一个类中的静态方法,比如:
public interface Bean {}
public class AviBean implements Bean {}
public class BookBean implements Bean {}
public class BeanFactory {
private BeanFactory(){}
public static Bean getBean(String name){
return (Bean)Class.forName(name).newInstance;
}
}
该BeanFactory类的静态方法getBean(String name)中有个"局部变量":name
如果该方法非static 那这个name肯定是线程安全的
但是现在该name处于一个static方法内.
那servlet调用这个方法时还是线程安全的吗?
是不是这个name在堆栈中只有一个区域?
这样当name从方法开始被赋值到name被调用会不会因为servlet多线程的问题而发生了不该发生的变化?
打个比方说:会不会
A和B同时通过servlet调用BeanFactory.getBean(String name)
A:BeanFactory.getBean("org.finikes.entity.AviBean");
B:BeanFactory.getBean("org.finikes.entity.BookBean");
而A得到的是BookBean,B得到的是AviBean?
有这样的可能性吗?
谢谢!!!!
finikes
发表文章: 8
注册时间: 2005年01月23日
悄悄话
个人博客
当前离线
re:java web线程安全的疑问
2007年12月26日 14:45
顶一下
自己顶!
banq
发表文章: 11308
注册时间: 2002年08月03日
悄悄话
个人博客
当前离线
72人关注
回复:java web线程安全的疑问
2007年12月27日 09:23
顶一下
没有线程问题,需要对对象的生命周期有一个深刻掌握。
shijiezhichuang
发表文章:
注册时间: 2008年01月02日
悄悄话
个人博客
当前离线
re:java web线程安全的疑问
2008年01月02日 13:36
顶一下
不会。
name是一个对象的句柄,每次调用的时传过来的对象不一样,name所引用的对象就不一样。因此返回的结果就不一样。
共有
3
回复(
1
页)
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
正在读取,请等待...
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
提交时自动拷贝以上内容到剪贴板 Ctrl+V可取出;提问题前先查询
标签列表
使用帮助
解惑之道在
J道
,打造中国最具影响力的的软件架构社区
推荐FireFox或Chrome快速浏览本站
OpenSource
JIVEJDON
Powered by
JdonFramework
Code © 2002-10
jdon.com
anti spam