Java锁优化
一、自旋锁:
二、 细分锁粒度
2.1 锁分解
缩小锁的范围
class Singleton {
private Singleton instance;
private Singleton() {
}
// 将整个方法加锁
public synchronized Singleton getInstance() {
try {
Thread.sleep(1000); //do something
if(null == instance)
instance = new Singleton();
} catch (InterruptedException e) {
e.printStackTrace();
}
return instance;
}
}减少锁的粒度
2.2 锁分段
三、读写分离
Last updated