我只记得大致的代码:
public TestServlet extends HttpServlet{
   private int a=1;
    doGet(request,response){
       a=a+1;
       PrintWrite out=response.getWriter();
       out.print(a);
   }
}问:如果有A,B两人访问这个Servlet,会得到几种结果?并解析。

解决方案 »

  1.   

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

  2.   

    Servlet是单例的,所以private int a=1 会被共享。A和B两个人的HTML页面上的结果应该只有2种:
    1)A 2 ;B 3
    2)A 2 ;B 2绝大多数情况下是1;
    极其极其极其少的情况下是2。
      

  3.   


    突然想起来不太严谨,1)应该是 A 2 ;B 3 或 A 3 ;B 2