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

一个java多线程有关问题

2012-04-17 
一个java多线程问题我只记得大致的代码:public TestServlet extends HttpServlet{private int a1doGet(r

一个java多线程问题
我只记得大致的代码:
public TestServlet extends HttpServlet{
  private int a=1;
  doGet(request,response){
  a=a+1;
  PrintWrite out=response.getWriter();
  out.print(a);
  }
}

问:如果有A,B两人访问这个Servlet,会得到几种结果?并解析。

[解决办法]
就是一个简单的多线程的问题啊。

如果A先跑完,B再跑完。那么得到的是第一种结果:2,2
如果有一个先执行:a=a+1; 另外一个再执行这句时,得到提2,3

[解决办法]
Servlet是单例的,所以private int a=1 会被共享。

A和B两个人的HTML页面上的结果应该只有2种:
1)A 2 ;B 3
2)A 2 ;B 2

绝大多数情况下是1;
极其极其极其少的情况下是2。

热点排行