楼上无大误,我再详细说下:
一、主方法为非静态同步方法,则其他方法访问性为:
状态 是否静态 是否允许访问 主方法锁对象 其他方法锁方法
synchronized 是 true this className.class
synchronized 否 false this this
非synchronized 是或否 true this 无
二、主方法为静态同步方法,则其他方法访问性为:
状态 是否静态 是否允许访问 主方法锁对象 其他方法锁方法
synchronized 是 false className.class className.class
synchronized 否 true className.class this
非synchronized 是或否 true className.class 无
从以上可以看出,只要锁不同就可以进入。当锁相同时无法进入
|