黑马程序员技术交流社区

标题: lock的好处在哪里? [打印本页]

作者: 何艳梅    时间: 2014-8-21 23:47
标题: lock的好处在哪里?
lock的好处在哪里?
作者: 我为你着迷    时间: 2014-8-22 11:38
lock是JDK1.5版本出现的一个升级机制吧  同步是隐士的锁操作  而锁是显示的锁操作 它的出现替代了同步  获取锁的对象更加直观明了。应该就是这些吧  
作者: c19t043    时间: 2014-8-22 19:46
本帖最后由 c19t043 于 2014-8-22 19:55 编辑

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

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


作者: 怀念黑海岸    时间: 2014-8-22 20:25
   我对lock了解不多,我只知道lock有个比synchronized最强大的地方:他能精确控制某个线程,比如消费者生产者模式中,当你没产品时你能用lock精确的唤醒生产者,而不用将陷入等地的消费者一起唤醒。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2