对synchroized的一些认识
小于 1 分钟
对synchroized的一些认识
synchroized块可以保证块中的代码在同一时刻只能让一个线程访问,其他尝试进入代码块的线程都会被阻塞,直到代码块中的线程执行完。
synchroized可以修饰以下不同的块
- 实例方法
- 静态方法
- 实例方法中的代码块
- 静态方法中的代码块
synchroized关键字修饰实例方法和实例对象时,锁住的是对象,而修饰静态方法和静态方法中的代码块时,锁住的是该类的类对象。
synchroized支持重入,并具有继承性,具体表现形式有两种:
- a,b方法同时被同一把锁修饰,a方法中可以执行b方法
- 子类可以执行父类方法