黑马程序员技术交流社区
标题:
利用Lock Condition的使用方法和好处总结
[打印本页]
作者:
黑马乔荣柱
时间:
2012-10-10 23:14
标题:
利用Lock Condition的使用方法和好处总结
Lock: Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作
代码 Lock l=new ReentrantLock()
在需要加锁的地方l.lock() 需要解锁的地方l.unlock()
Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,
以便通过将这些对象与任意 Lock 实现组合使用
Condition中 await signal signalAll
代码Condition c1=l.newCondition();
Condition c2=l.newCondition();
。。。。。。。。。。。。。。
c1.await();//通过c1监视器来让该线程等待
c1.signal();//唤醒该线程
c2.await();//通过c2监视器来让该线程等待
c2.signal();//唤醒该线程
操作起来十分灵活
作者:
王虎
时间:
2012-10-10 23:58
毕老师视频里的总结我觉的很到位,这其实就是java1.5以后关于Lock接口和Condition接口的使用特点(相比java1.5之前版本)
Lock 接口:替代了同步代码块或者同步函数,将同步的隐式锁操作变为显示锁操作,同时更为灵活,可以一个锁加多组监视器
lock():获取锁
unlock():释放锁
Condition接口:替代了Object中的wait notify notifyAll方法,将这些监视器方法单独进行了封装,变成Conditon监视器对象,可以任意锁进行组合
await()
signal()
signalAll()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2