首页 > 编程语言 > 详细

Java 中的锁——Lock接口

时间:2016-07-12 15:06:25      阅读:171      评论:0      收藏:0      [点我收藏+]

Java SE5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能。虽然它少了(通过synchronized块或者方法所提供的)隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的操作性、可中断的获取锁以及超时获取锁等多种synchronized关键字所不具备的同步特性。

使用synchronized关键字将会隐式地获取锁,但是它将锁的获取和释放固化了,也就是先获取再释放。当然,这简化了同步的管理,可是扩展性没有显示的锁获取和释放来的好。

Lock接口提供的synchronized关键字所不具备的主要特性如下:

 

特性 描述
尝试非阻塞地获取锁 当前线程尝试获取锁,如果这一时刻锁没有被其他线程获取到,则成功获取并持有锁
能被中断地获取锁 与synchronized关键字不同,获取到锁的线程能够响应中断,当获取到锁的线程被中断时,中断异常将会被抛出,同时锁会被释放
超时获取锁 在制定的截止时间之前获取锁,如果截止时间到了仍旧无法获取锁,则返回

Java 中的锁——Lock接口

原文:http://www.cnblogs.com/sonofelice/p/5663458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!