tem*_*def 5 java synchronization
在Java中,通常认为在未编写的类类型的对象上显式同步是安全的吗?我问这个是因为看起来如果该对象在内部尝试自身同步,那么在另一个尝试使用该对象的非同步方法的内部获取对象监视器的另一个线程与明确获取的线程之间可能存在意外的死锁锁定对象.我从来没有听过或读过任何说这是个坏主意的事情,虽然它似乎可能是.
Java 允许您这样做,但不要这么做。您应该非常努力地将锁定封装在一个类中,或者封装在尽可能小的单元中。
锁定您不拥有和完全理解的对象可能会导致死锁和其他混乱。
看一下这个问题并思考它如何应用于锁定第三方对象。
此外,还必须参考JCiP — Read Java Concurrency in Practice,以获取有关如何构建并发程序的全面、可读且高质量的讨论。