synchronized的不同写法会影响性能效率
public synchronized void test() { //......
}
小于
public void test() { synchronized(this) { }
}
小于
private byte[ ] lock=new byte[1];
public void test() { synchronized(object) { }
}
同步函数效率低于this是因为即使获得了锁进入方法还需要消耗时间,this锁在获得锁的时候已经进入了方法中,this锁效率有地于自定义对象锁,所以对象越小越好,所以用byte,造一个字节的byte对象最小,一般工作中用这种方法。