线程8锁
一个对象里,如果有多个synchronize方法,某个时间,只要有一个线程去掉用其中一个synchronize方法,那么其他线程都只能等待。
普通方法与同步锁无关。
所有的非静态同步方法的锁,是同一把锁——实例对象本身。
所有的静态同步方法的锁,都是同一把——类对象本身。 静态同步方法和非静态同步方法之间,不会有竞争。但是,一旦一个静态同步方法获取锁之后,其他的静态同步方法都必须等待,不管是不是同一个实例。
* 线程八锁的关键:
* ①非静态方法的锁默认为 this,也就是实例对象 , 静态方法的锁为 对应的 Class 实例
* ②某一个时刻内,只能有一个线程持有锁,无论几个方法。

浙公网安备 33010602011771号