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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何艳梅 中级黑马   /  2014-8-21 23:47  /  1459 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

lock的好处在哪里?

3 个回复

倒序浏览
lock是JDK1.5版本出现的一个升级机制吧  同步是隐士的锁操作  而锁是显示的锁操作 它的出现替代了同步  获取锁的对象更加直观明了。应该就是这些吧  
回复 使用道具 举报
本帖最后由 c19t043 于 2014-8-22 19:55 编辑

从synchronized(obj)-,到lock-condition,
从锁的隐式操作,到显示。
升级后的lock优势主要体现在,唤醒机制上,
synchronized(obj),线程切换,通过,notifyAll();唤醒所有线程
而lock----condition,则是通过lock 创建多个监视器,分别监视线程,甲方线程任务结束,通过 signal(),唤醒另外一方的单个线程,

----------甲方任务结束,一次唤醒所有线程,在所有线程中切换,随机寻找,乙方线程
----------甲方任务借宿,直接唤醒,乙方线程中的一个,
这个应该可以看出lock的好处了把!

回复 使用道具 举报
   我对lock了解不多,我只知道lock有个比synchronized最强大的地方:他能精确控制某个线程,比如消费者生产者模式中,当你没产品时你能用lock精确的唤醒生产者,而不用将陷入等地的消费者一起唤醒。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马