解决方案 »

  1.   

    队列JAVA里不是先现成的嘛?为什么要自己写?
      

  2.   


    直接用线程池的话,如果线程池处理不过来,怎么通知客户端,说已经满了处理不过来了?ThreadPoolExecutor 类不是可以使用相关的 RejectedExecutionHandler 接口么?默认的是 AbortPolicy 实现,即抛出异常。
      

  3.   


    直接用线程池的话,如果线程池处理不过来,怎么通知客户端,说已经满了处理不过来了?ThreadPoolExecutor 类不是可以使用相关的 RejectedExecutionHandler 接口么?默认的是 AbortPolicy 实现,即抛出异常。
    哦,thank you,这样改了 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String jsonData = request.getParameter("json");
    PrintWriter out = response.getWriter(); if (jsonData != null && !jsonData.equals("")) {
    try{
    SyncQueue.exe.execute(new DealThread2(jsonData));
    out.print("ok");
    } catch (RejectedExecutionException e) {
    out.print("full");
    } } else {
    log.info("wrong param" + jsonData);
    out.print("wrong param");
    response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    }
    }