校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > 锁的定义和分类
题目

Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?

解答

Lock 接口比同步方法和同步块提供了更具扩展性的锁操作。他们允许更灵活的结构,可以具有完全不同的性质,并且可以支持多个相关类的条件对象。

它的优势有:

1.可以使锁更公平

2.可以使线程在等待锁的时候响应中断

3.可以让线程尝试获取锁,并在无法获取锁的时候立即返回或者等待一段时间

4.可以在不同的范围,以不同的顺序获取和释放锁

整体上来说 Lock 是 synchronized 的扩展版,Lock 提供了无条件的、可轮询的(tryLock 方法)、定时的(tryLock 带参方法)、可中断的(lockInterruptibly)、可多条件队列的(newCondition 方法)锁操作。另外 Lock 的实现类基本都支持非公平锁(默认)和公平锁,synchronized 只支持非公平锁,当然,在大部分情况下,非公平锁是高效的选择。

C 1条回复 评论
童立

时隔几月再来看,还是没理解透彻

发表于 2022-12-27 21:00:00
0 0