静态锁:在静态方法前面加上synchronized方法表示锁定此类,当多个线程调用这个类中的静态方法时会阻塞。因为静态方法是依附于类的,给一个静态方法加上了锁,也就相当于给整个类的静态方法加上了锁。
实例锁:在实例方法前面加上synchronized方法表示锁定类的单个实例,当多个线程调用一个类申明的同一个实例的实例方法时会阻塞。只锁住当前的实例方法。
但静态锁和实例锁两者间的同步并不会受到互相干扰。
什么是类锁?
就像对类的每一个实例(对象)获取一个对象锁一样,对于每一个类都可以获取一个锁,称之为类锁,锁住类中所有的方法。
面试问题之——静态锁与普通锁的区别
最新推荐文章于 2022-12-21 21:41:14 发布