码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-06-21 16:05:58      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:释放   str   基本   cond   情况   它的   非公平锁   对比   一段   

Lock 接口比同步方法和同步块提供了更具扩展性的锁操作。

他们允许更灵活的结构,可以具有完全不同的性质,并且可以支持多个相关类的

条件对象。

它的优势有

可以使锁更公平

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

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

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

整体上来说 Lock 是 synchronized 的扩展版,Lock 提供了无条件的、可轮询的

(tryLock 方法)、定时的(tryLock 带参方法)、可中断的(lockInterruptibly)、可多

条件队列的(newCondition 方法)锁操作。另外 Lock 的实现类基本都支持非公平

锁(默认)和公平锁,synchronized 只支持非公平锁,当然,在大部分情况下,非

公平锁是高效的选择。

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

标签:释放   str   基本   cond   情况   它的   非公平锁   对比   一段   

原文地址:https://www.cnblogs.com/programb/p/13020260.html

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