加锁
synchronized (){}
进一步可以加redis锁
用setnx加
结束
try{
业务代码
(这里项目挂掉会导致锁锁未删 死锁)
}finally{
删掉锁
}
处理方案可以给锁加一个时间
这里记得使用方法是设置锁的同时加时间,保持原子性
如果中间处理时间超过锁的时间,会导致锁失效
处理方案是,给锁重置时间
redisson这个里面有这种分布式的锁
加锁
synchronized (){}
进一步可以加redis锁
用setnx加
结束
try{
业务代码
(这里项目挂掉会导致锁锁未删 死锁)
}finally{
删掉锁
}
处理方案可以给锁加一个时间
这里记得使用方法是设置锁的同时加时间,保持原子性
如果中间处理时间超过锁的时间,会导致锁失效
处理方案是,给锁重置时间
redisson这个里面有这种分布式的锁