ReentrantLock/Synchronjzed就是典型的可重入锁
概念 : 可重入锁指的是同一线程外层函数获得锁之后,内层递归函数仍然能获取该锁的代码,在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁也即是说
线程可以进入任何一个它已经拥有的锁所同步着的代码块。
demo1
demo2证明ReentrantLock也是可重入锁
可重入锁优点:可避免死锁(不会出现外方法进入后调用一个锁方法,没有锁,一直尝试获得锁陷入死锁状态)
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!