使用 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();
}
}