文章目录
引言
上一节介绍了 ReentrantLock
类的 lock
锁获取流程,本节继续来说说它的其他两个知识点:
lock
和lockInterruptibly
的区别newCondition()
,条件队列的实现逻辑
lock 和 lockInterruptibly 的区别
ReentrantLock
的 lock 方法有几种获取锁方式:
tryLock()
,tryLock(long ,TimeUnit)
,可轮询的、可定时地获取锁;lock()
,无条件地轮询获取锁,锁等待期间,线程可被中断;lockInterruptibly()
,可中断的锁获取方式,锁等待期间,线程可被中断。
lock()
和 lockInterruptibly()
,这两个方法都能响应中断请求,但是区别在哪里呢