首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

急 servletcontext有关问题

2011-11-07 
急servletcontext问题jdk5.0update6+tomcat5.0+eclipse3.2下:ServletContextscgetServletContext()longo

急 servletcontext问题
jdk5.0   update6     +   tomcat5.0+eclipse3.2下:


ServletContext   sc=getServletContext();

long   ordId=(Long)sc.getAttribute( "id ");

    log.debug( "得到的ordId: "+ordId);
      if(++ordId> 99999)
              ordId=0;
    sc.setAttribute( "id ",   ordId);

多次调用以上代码,   出现

得到的ordId:1
得到的ordId:2
得到的ordId:3
.
.
.
.
.
.
得到的ordId:50
得到的ordId:51
得到的ordId:25
得到的ordId:26
得到的ordId:52
得到的ordId:53
得到的ordId:54

好像多出了25,26,搞了好长时间也不知道什么问题,   这个问题隔一段时间会出现一次,   哪位大哥救我一下,感激不尽!

[解决办法]
怎么调用以上代码的,
多线程的情况下会有问题的,
long ordId=(Long)sc.getAttribute( "id ");
...
sc.setAttribute( "id ", ordId);

读写操作并不在同一个原子操作块中
[解决办法]
肯定因爲多綫程引起的

热点排行