public void saveCoupons() {
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
synchronized (this)
{
if(bln==true){
bln=false;
System.out.println(DateFormat.getDateTime());//yyyy-MM-dd HH:mm:ss的日期字符串形式返回
}else{
map.put("msg", "fail");
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
当两个请求并发访问这个action时,输出两个完全一样的时间,并没有间隔1000毫秒,感觉synchronized没起作用
cpu处理时间很快,一样的时间是可能的,输出是秒
如果想试,可以用个全局的整数++
你是针对当前方法所属对象的同一个实例么?