关于同步块的锁
程序员文章站
2022-06-11 10:36:10
...
若我有一页面按钮 对应某一数据库操作(比如添加) 想避免被重复执行
于是在Action中加了一同步块
但又考虑到效率问题
于是只针对当前登陆用户加锁
因不同的用户不会存在重复操作的问题
代码如下:
//同步块锁对象为保存在session中的当前登录用户
synchronized(session.getAttribute(CURRENT_LOGIN_USER)){
//查询 该内容是否已存在
if(!service.isExist(obj)){
service.add(obj);//add
}else{
//提示内容已存在 勿重复操作
}
}
该锁对象可以满足我上面的要求吗?(不考虑同一时刻 同一用户在多处登陆的情况)
于是在Action中加了一同步块
但又考虑到效率问题
于是只针对当前登陆用户加锁
因不同的用户不会存在重复操作的问题
代码如下:
//同步块锁对象为保存在session中的当前登录用户
synchronized(session.getAttribute(CURRENT_LOGIN_USER)){
//查询 该内容是否已存在
if(!service.isExist(obj)){
service.add(obj);//add
}else{
//提示内容已存在 勿重复操作
}
}
该锁对象可以满足我上面的要求吗?(不考虑同一时刻 同一用户在多处登陆的情况)