filter和多servlet并发下的问题,感谢大家来知道小弟

liuxiaohui1987 2010-01-19 11:01:11
我的大体过程图
我担心的是多servlet来setM(“...”)的时候多并发的时候,在after里getM会不会有问题啊?
帮我解惑吧!
...全文
199 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxiaohui1987 2010-01-22
  • 打赏
  • 举报
回复
如果是局部变量调用别的类的方法呢?
会不会线程同步有问题?
线程同步是局部变量调用的方法的public private, protected 有什么关系吗?
config_man 2010-01-20
  • 打赏
  • 举报
回复
路过,学习。
dumbant 2010-01-20
  • 打赏
  • 举报
回复
学习.
mynameissunli 2010-01-20
  • 打赏
  • 举报
回复
线程!学习了
liuxiaohui1987 2010-01-20
  • 打赏
  • 举报
回复
感谢以上各位!
liuxiaohui1987 2010-01-19
  • 打赏
  • 举报
回复
图好像看不到啊...我补充吧:
我的filter是这么写的:
request--->filter(befor方法A a=new A();a.setM("0");request.setAttribute("a",a))--(修改后的数据)-->servlet
servlet(多个)(A a=(A)request.getAttribute("a");a.setM("1")执行完后)--(修改后的数据)-->filter(after方法A a=(A)request.getAttribute("a");print(a.getM());)
(工程里有多个servlet,都共用这一个filter,servlet和filter之间有数据交互)
这样会不会对多并发或线程同步用影响?
  • 打赏
  • 举报
回复
嗯,局部变量不会,因为多线程环境下局部变量被纳入到一个仅有当前线程能访问的空间中去了。
  • 打赏
  • 举报
回复
filter 和 servlet 是单例的吧,只要其中没有成员变量,就不会存在线程安全问题。
crazylaa 2010-01-19
  • 打赏
  • 举报
回复
局部变量不会,类全局变量会。这种方法内部变量属于局部变量,不会。
javamode 2010-01-19
  • 打赏
  • 举报
回复
不会 servlet是线程安全的 每次调用某个servlet的时候 servlet容器都会产生这个servlet的实例 也就是说你每次调用的并不是一个servlet对象
filter原理一样

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧