java-锁
可以加三类锁:
①给静态方法加锁; //锁的是类(指所有加synchronized的静态方法被锁)
②给实例方法加锁; //锁的是对象(所有加synchronized的实例方法被锁)
③给代码块加锁。//锁的是传入的对象
需要注意的是:
①锁类和锁对象是不一样的 即锁T.class 和t是不一样的;
②类或对象被锁时,仍然可以访问其他没被锁的函数;
③加锁的实质是给临界区对象写上被锁线程的线程id,每个线程想要进入锁时,都要看看还不是自己的id。
https://baijiahao.baidu.com/s?id=1671446948019510159&wfr=spider&for=pc

浙公网安备 33010602011771号