54 【面试官:synchronized 的可重入的实现原理? - 后端研发工程师哈哈 | 小红书 - 你的生活指南】 😆 bQcitQUV4TZod17 😆 http://xhslink.com/oareES

Untitled

synchronized 是可重入锁,也就是说,允许一个线程二次请求自己持有对象锁的临界资源,这种情况称为可重入锁。

synchronized 锁对象的时候有个计数器,他会记录下线程获取锁的次数,在执行完对应的代码块之后,计数器就会 -1,直到计数器清零,就释放锁了。

之所以,是可重入的。是因为 synchronized 锁对象有个计数器,会随着线程获取锁后 +1 计数,当线程执行完毕后 -1,直到清零释放锁。