黑马程序员技术交流社区

标题: 利用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