奋斗老师

文章
6
资源
0
加入时间
3年0月21天

Java可重入锁及其如何避免死锁

定义可重入锁,也叫递归锁。“重入”将获取锁的粒度由“调用”转变为“线程”,即当一个线程请求一个未持有的锁,该线程将顺利得到锁并被记录,且将计数值从0变为1;当下次同一个线程再次请求这把锁,该线程无需排队,而是直接得到锁,且计数值由1变为2,仅仅是数量上的累加;每次退出一个线程,计数值-1,直到计数值为0,这把锁将被释放。因此重入锁的原理:当某个线程请求一个由其他线程持有的锁,该线程将被阻塞。synchronized及ReentainLockJava中内置锁synchronized及Ree