如下,commonDo可能被多个方法(有可能不同步的)调用,在specialDo调用commonDo会重入锁,对性能影响大吗?
是不是最好把commonDo()的代码直接放在specialDo里比较好?虽然代码冗余,但是性能好?
class MyClass{
public synchronized void specialDo(){
...
commonDo();
}
public synchronized void commonDo(){
...
}
}
重进锁仅仅在基数 +1,性能影响基本可以忽略。类似的做法,可以参考
ReentrantLock