码迷,mamicode.com
首页 > 其他好文 > 详细

解析ReentrantLock实现原理

时间:2019-03-29 00:36:35      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:eve   最大   关键字   java   两种   产生   超时   table   实现原理   

  在Java中通常实现锁有两种方式,一种是synchronized关键字,另一种是Lock。首先最大的不同:synchronized是基于JVM层面实现的,而Lock是基于JDK层面实现的。

对于使用者的直观体验上Lock是比较复杂的,需要lock和realse,如果忘记释放锁就会产生死锁的问题,所以,通常需要在finally中进行锁的释放。但是synchronized的使用十分简单,只需要对自己的方法或者关注的同步对象或类使用synchronized关键字即可。但是对于锁的粒度控制比较粗,同时对于实现一些锁的状态的转移比较困难。例如:

特点:

tipssynchronizedLock
锁获取超时 不支持 支持
获取锁响应中断 不支持 支持

解析ReentrantLock实现原理

标签:eve   最大   关键字   java   两种   产生   超时   table   实现原理   

原文地址:https://www.cnblogs.com/jing99/p/10618675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!