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);
        }
    }

     

  • 相关阅读:
    laravel 服务提供者
    乐观锁和悲观锁
    MySQL索引原理及慢查询优化
    Laravel Session保存机制和terminate中间件
    laravel session踩坑
    理解 JavaScript 的 async/await(转)
    知识点
    js异步
    Office使用笔记
    YUM常用命令
  • 原文地址:https://www.cnblogs.com/qin1993/p/11934732.html
Copyright © 2011-2022 走看看