当前位置:   article > 正文

30.2 Servlet_自启动Servlet特点,Servlet_Servlet线程安全问题_servlet自起线程

servlet自起线程

 Servlet_自启动Servlet特点

Servlet_Servlet线程安全问题

 

 

 

  1. package ThreadSafeServlet07;
  2. /**
  3. * 多个线程访问同一个资源时 线程安全问题
  4. */
  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import java.io.IOException;
  10. import java.io.PrintWriter;
  11. public class ThreadSafeServlet01 extends HttpServlet {
  12. private PrintWriter pw; //将printwrite定义到成员变量中, 当多个浏览器(多个线程)同时访问时容易出现抢占资源,如果把变量定义到成员变量记得实现线程同步
  13. @Override
  14. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  15. this.doPost(req,resp);
  16. }
  17. @Override
  18. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  19. String name = req.getParameter("name");
  20. pw = resp.getWriter();
  21. synchronized (this){ //使用synchrenized来实现多个线程同步
  22. try{
  23. Thread.sleep(5000);
  24. pw.println(name);
  25. pw.flush();
  26. pw.close();
  27. }catch(Exception e){
  28. e.printStackTrace();
  29. }
  30. }
  31. }
  32. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/634879
推荐阅读
  

闽ICP备14008679号