Lock锁,ReentrantLock,lockInterruptibly()方法,tryLock()方法

1.在 JDK5 中 增 加 了 Lock 锁 接 口 , 有 ReentrantLock 实 现 类,ReentrantLock 锁称为可重入锁, 它功能比 synchronized 多.锁的可重入是指,当一个线程获得一个对象锁后,再次请求该对象 锁是可以获得该对象的锁的

2.ReentrantLock的基本使用,调用 lock()方法获得锁, 调用 unlock()释放锁,ReentrantLock 锁具有可重入性

3.lockInterruptibly()方法:如果当前线程未被中断则获得锁, 如果当前线程被中断则出现异常。

4.tryLock(long time, TimeUnit unit) 的作用在给定等待时长内锁没有 被另外的线程持有,并且当前线程也没有被中断,则获得该锁.通过该 方法可以实现锁对象的限时等待.

5.tryLock()仅在调用时锁定未被其他线程持有的锁,如果调用方法时,锁对象对其他线程持有,则放弃.调用方法尝试获得,如果该锁没有 被其他线程占用则返回 true 表示锁定成功; 如果锁被其他线程占用则返回 false,不等待.

posted @ 2021-08-24 20:54  x77  阅读(143)  评论(0编辑  收藏  举报