使用synchronized的时候,一般要防止String 常量池造成的坑。
比如,一个函数中包含:
synchronized("A") {
}
还有另外一个函数中包含:
因为常量池的原因 :比如下面,A和B实际上是同一个对象。
String a = "A";
String b = "A"