import java.io.IOException; 
import java.io.PrintWriter; import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; public class Test extends HttpServlet { 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
try { 
System.out.println("wait"); 
synchronized (this) { 
wait(); 

} catch (InterruptedException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 

} } 
我的服务器tomcat 我在浏览器里访问上面的servlet, 
在浏览器里 打开一个选项卡请求一次那个servlet的get方法,大约是在打开超过6,7,8个选项卡以后,就不能在请求到这个servlet了, 也就是那个System.out.println("wait"); 就打印不出来了,好像整个浏览器阻塞住了 请教是怎么回事,按理说不可能那么少的线程就阻塞了 

解决方案 »

  1.   

    先看一下你设置的Thread的并发数是多少?
      

  2.   

    ls 并发数码那里设置?tomcat web服务器
      

  3.   

    wait是线程里用的,你这个要干嘛?
      

  4.   

    用jstack 看一下有几个线程是在这里wait的
      

  5.   

    我把servlet换成struts2的action 
    在ie,和遨游下 打开20开浏览器选项卡 正常 但是用firefox 打开12,3个选项卡后就阻塞了 
    难道firefox