ReentrentLock重入锁

ReentrentLock lock=new ReentrentLock();
lock.lock();
//锁的代码
finally{
lock.unlock();
}
ReentrentLock 比synchronized具有更好的扩展性
ReentrentLock 可以通过lockInterruptibly()方法实现中断锁 通过Thread的interrput方法中断,中断之后放弃执行,释放资源

ReentrentLock可以通过tryLock(),tryLock(时间,时间单位)所申请等待时间,如果获得成功返回true,如果是失败返回false,tryLock()会立即返回,tryLock(时间,时间单位)在这段时间内尝试获得锁。
ReentrentLock构造方法里面有一个boolean fair 默认false,传入true表示公平锁
posted @ 2017-09-08 15:45  流氓剑客  阅读(665)  评论(0编辑  收藏  举报