Java httpserver 多线程接收问题

我使用了java 自带的com.sun.net.httpserver,使用多线程接收消息,但是当我在一个线程中加入死循环,客户端第二个请求就接收不到,求大神指点
HttpServerProvider provider = HttpServerProvider.provider();
HttpServer httpserver =provider.createHttpServer(new InetSocketAddress(port), revCount);//监听端口9006,能同时接 受100个请求
httpserver.createContext(context, new HandlerProto());
// httpserver.setExecutor(null); //使用单线程
httpserver.setExecutor(Executors.newCachedThreadPool());
httpserver.start();

                public void handle(HttpExchange httpExchange) throws IOException {
    // TODO Auto-generated method stub
     String method = httpExchange.getRequestMethod();
     if(method.equalsIgnoreCase("GET")){
         System.out.println("===>"+Thread.currentThread().getId());
         System.out.println("===>"+httpExchange.getRequestURI());        

         boolean ffff = true;
         while(ffff){

         }
         byte[] resout = "123".getBytes();
         try {
            httpExchange.sendResponseHeaders(200, resout.length); //设置响应头属性及响应信息的长度
            OutputStream out = httpExchange.getResponseBody();  //获得输出流

            out.write(resout);
            out.flush();
            out.close();
            httpExchange.close();

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

     }

}

1个回答

JAVA程序,按行执行 。你写了一个无限循环,阻断了程序的运行

st75033562
st75033562 但是它应该多线程接收啊,我找到问题所在了,我用同一个浏览器在不同窗口去访问会等待,但是使用不同浏览器就可以了,不会因为死循环而阻塞,还是很谢谢你
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐