我在某个地方读到过,应该避免使用synchronized(this)
,出于各种原因。然而,我遇到的一些值得尊敬的代码在构造函数中使用了以下内容:
public SomeClass(Context context) {
if (double_checked_lock == null) {
synchronized (SomeClass.class) {
if (double_checked_lock == null) {
// some code here
}
}
}
}
synchronized(this)
和synchronized(SomeClass.class)
之间真的有区别吗?