A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 librazeng 于 2013-5-18 00:21 编辑

没读,也怕读不懂源码,所以对锁的理解不深入。谁能简明扼要的讲讲啊。
API中的Lock描述:
Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 The Java Language Specification, Third Edition (17.4 Memory Model) 中所描述的:
  • 成功的 lock 操作与成功的 Lock 操作具有同样的内存同步效应。
  • 成功的 unlock 操作与成功的 Unlock 操作具有同样的内存同步效应。
不成功的锁定与取消锁定操作以及重入锁定/取消锁定操作都不需要任何内存同步效果。 实现注意事项三种形式的锁获取(可中断、不可中断和定时)在其性能特征、排序保证或其他实现质量上可能会有所不同。而且,对于给定的 Lock 类,可能没有中断正在进行的 锁获取的能力。因此,并不要求实现为所有三种形式的锁获取定义相同的保证或语义,也不要求其支持中断正在进行的锁获取。实现必需清楚地对每个锁定方法所提供的语义和保证进行记录。还必须遵守此接口中定义的中断语义,以便为锁获取中断提供支持:完全支持中断,或仅在进入方法时支持中断。
由于中断通常意味着取消,而通常又很少进行中断检查,因此,相对于普通方法返回而言,实现可能更喜欢响应某个中断。即使出现在另一个操作后的中断可能会释放线程锁时也是如此。实现应记录此行为。  


API中Condition描述:public interface ConditionCondition 将 Object 监视器方法(http://www.cnblogs.com/psjay/archive/2010/04/01/1702465.html

Java 理论与实践: 处理 InterruptedException
http://www.ibm.com/developerworks/cn/java/j-jtp05236.html


评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 请把帖子改为已解决

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马