A线程先持有object对象的锁,B线程可以以异步的方式调用object对象的非synchronized方法;
A线程先持有object对象的锁,B线程调用object对象的其他synchronized方法,只能等待A线程,会有同步效果。即线程锁的是对象。
如下图:
运行如下:
改后运行如下:
A线程先持有object对象的锁,B线程可以以异步的方式调用object对象的非synchronized方法;
A线程先持有object对象的锁,B线程调用object对象的其他synchronized方法,只能等待A线程,会有同步效果。即线程锁的是对象。
如下图:
运行如下:
改后运行如下: