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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐巍 黑马帝   /  2012-3-15 16:34  /  2208 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在JDK1.5版本之后,wait(),notify(),notifyAll()被替换为Condition对象,该对象可由Lock锁进行获取。这种升级有什么好处?

1 个回复

倒序浏览
Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。

它分解成了不同的对象,那么就是说。我现在可以利用condition来明确的给这些线程分帮结派了,当正在设置资源的线程在同步操作的时候,它就拿到了唯一的一个lock,等它设置完资源了,它就调用singnal方法只唤醒对方的线程。不用再唤醒所有的线程了。这样就提高了代码的效率。

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马