java-锁

可以加三类锁:

①给静态方法加锁; //锁的是类(指所有加synchronized的静态方法被锁)

②给实例方法加锁; //锁的是对象(所有加synchronized的实例方法被锁)

③给代码块加锁。//锁的是传入的对象

 

需要注意的是:

①锁类和锁对象是不一样的  即锁T.class 和t是不一样的;

②类或对象被锁时,仍然可以访问其他没被锁的函数;

③加锁的实质是给临界区对象写上被锁线程的线程id,每个线程想要进入锁时,都要看看还不是自己的id。

 

https://baijiahao.baidu.com/s?id=1671446948019510159&wfr=spider&for=pc

 

posted @ 2022-04-11 13:31  `安安安安安  阅读(87)  评论(0)    收藏  举报