黑马程序员技术交流社区

标题: lock 与synchronized有什么区别? [打印本页]

作者: 1659177869    时间: 2015-2-8 00:36
标题: lock 与synchronized有什么区别?
有人说lock接口代替了synchronized 但是我感觉好多教程上都是对synchronized做了大篇幅介绍,而对lock的介绍和使用都是简单用个例子带过,所以我想问下编程时对二者怎样取舍?
作者: kenfine    时间: 2015-2-8 10:47
个人认为lock的对象好用,因为冻结和唤醒,在此机制中用到的特定唤醒机制比synchronized的无差别唤醒机制好很多,节约了很多系统资源。
作者: coolmiao13    时间: 2015-2-8 11:21
用lock,无论是安全性还是可读性,lock都比单纯的synchornized组合来的要好。
一般视频讲义,将synchornized大篇幅介绍,主要是为了说明其原理与方法。就是教你线程的思想。
感觉一个是过程synchornized,一个封装成类lock。所以lock更符合面向对象的思想。
以上。
有什么不对的地方希望指正。
作者: coolmiao13    时间: 2015-2-8 21:13
那么我们正常编程时,应该侧重于使用lock解决问题?  
肯定啊,lock是1.5的新特性,而且是显式的锁结构。难倒升级之后的新特性咱都不用,然后用老的方法吗。
作者: jojo    时间: 2015-2-8 21:32
Lock比synchronized更加灵活,在线程间通信时还可以只唤醒对方线程,但synchronized系统会自动释放锁资源,Lock要手动释放,而且一定要在finally从句中释放:),不知对你有用否
作者: rehan    时间: 2015-2-10 12:17
新的东西出现总会有其合理的地方,要不就简化代码,要不就提高效率。。。。。。所以lock使用起来比较方便,而且可以锁的对象比较好操控。。。




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