一个对象里面,如果有多个同步方法,某一个时刻内,只要一个线程去调用其中的一个同步方法,其他线程都只能等待,锁的是当前对象,被锁定后,其他线程都不能进入到当前对象的其他同步方法内。
如果类里有普通方法,则和同步锁无关。线程之间不会发生竞争
如果是两个对象,那么不是同一把锁了
如果类里同步方法有static修饰,不加static(一个类的实例对象,this)—》对象锁,static锁的是(Class,Person类)----》全局锁
一个对象里面,如果有多个同步方法,某一个时刻内,只要一个线程去调用其中的一个同步方法,其他线程都只能等待,锁的是当前对象,被锁定后,其他线程都不能进入到当前对象的其他同步方法内。
如果类里有普通方法,则和同步锁无关。线程之间不会发生竞争
如果是两个对象,那么不是同一把锁了
如果类里同步方法有static修饰,不加static(一个类的实例对象,this)—》对象锁,static锁的是(Class,Person类)----》全局锁
相关文章: