先看例子:
线程类:
运行类:
运行结果:
通过上面的实验可以得知,当一个线程访问object的一个synchronized同步代码块时,另一个线程仍然可以访问该object对象中的非synchronized(this)同步代码块。
虽然上面的例子时间缩短了,但是同步代码块synchronized真的是同步的吗?真的持有当前调用对象的锁吗?是!但必须用代码的方式来进行验证。
先看例子:
线程类:
运行类:
运行结果:
通过上面的实验可以得知,当一个线程访问object的一个synchronized同步代码块时,另一个线程仍然可以访问该object对象中的非synchronized(this)同步代码块。
虽然上面的例子时间缩短了,但是同步代码块synchronized真的是同步的吗?真的持有当前调用对象的锁吗?是!但必须用代码的方式来进行验证。