zoukankan      html  css  js  c++  java
  • Servlet 异步处理

    @WebServlet(value = "/asycservlet",asyncSupported = true)
    public class AsycServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("主线程启动"+Thread.currentThread()+"..."+System.currentTimeMillis());
            AsyncContext startAsync=req.startAsync();
            startAsync.start(new Runnable(){
                @Override
                public void run() {
                    System.out.println("异步程启动"+Thread.currentThread()+"..."+System.currentTimeMillis());
                    try {
                    asyc();
                    AsyncContext asyncContext=req.getAsyncContext();
                    ServletResponse response=asyncContext.getResponse();
                    response.getWriter().write("asyc success");
                    } catch (IOException e) {
                        e.printStackTrace();
                    }catch (InterruptedException e){
                        e.printStackTrace();
                    }finally {
                        startAsync.complete();
                    }
                    System.out.println("异步程结束"+Thread.currentThread()+"..."+System.currentTimeMillis());
                }
            });
            System.out.println("主线程结束"+Thread.currentThread()+"..."+System.currentTimeMillis());
        }
    
        public void asyc() throws InterruptedException{
            System.out.println(Thread.currentThread()+"......");
            Thread.sleep(5000);
        }
    }

     

  • 相关阅读:
    echarts动态设置主体颜色
    spring security session
    Spark RDD函数:
    MapReduce TOP n
    feign 使用示例
    trie树
    动态修改注解(annotation)值
    golang插件
    Kafka Streams Example
    tcp并发(c18w)
  • 原文地址:https://www.cnblogs.com/qin1993/p/11934732.html
Copyright © 2011-2022 走看看