synchronized

线程安全问题主要发生在线程共享的区域,例如实例对象等。

synchronized关键字可以保证临界区的访问线程安全和变量的可见性。

synchronized的对象监视器主要有Object和Class。

多个线程访问同一个对象监视器时会同步执行。

synchronized同步非静态方法、非静态代码块,非静态变量或者this时, 对象监视器为Object。

synchronized同步静态区域的时候,对象监视器是Class。

对象监视器是Class时,对所有实现类都起作用。

同步不具有继承性,如果子类重写synchronized关键字修饰的方法,子类的方法不具有同步属性。

原文地址:https://www.cnblogs.com/avalon-merlin/p/9213292.html