關於 Servlet 的同步:使用 synchronized

使用 synchronized 保證Servlet的同步。

public class HelloServlet extends HttpServlet {
         
    int i = 0;
    int ticket = 2;
         
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
             
        //i++;
        //out.println("jump to others " + "i = " + i);
             
        //模擬賣票
        synchronized (this) {
            if(ticket > 0){
                System.out.println("你買到票");
                out.println("you get it!");
                //休眠
                try {
                    Thread.sleep(10 * 1000);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                ticket--;
            }else{
                System.out.println("你沒有買到票");
                out.print("you do not get it!");
            }
    }
}
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
    }
}


發佈了40 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章