lock concurrence
【书摘】在高并发场景中,同步调用应该考虑锁的性能损耗。能用无锁数据结构,就不要用锁;能锁区块,就不要锁整个方法体;能用对象锁,就不要用类锁。即,加锁的粒度越小,性能损耗越小。并且避免锁的代码块中调用了 RPC 方法。
另外,同时对多个资源加锁的时候,需要保持一致的加锁顺序。否则,一个线程加锁顺序为 ABC,另一个加锁顺序为 ACB 或 BAC 等,会造成死锁。
http://ifeve.com/%E5%93%81%E9%98%BF%E9%87%8C-java-%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%E6%9C%89%E6%84%9F/
database lock vs java lock
https://tech.youzan.com/seven-questions-about-the-lock-of-mysql/
浙公网安备 33010602011771号