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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 路漫漫_求索 于 2014-5-24 11:49 编辑

synchronized()锁和Lock锁有什么区别?分别什么时候使用哪一个?

点评

认真看视频吧~~~  发表于 2014-5-20 20:28

8 个回复

倒序浏览
synchronized 锁只锁括号里面的代码内容,一个方法或者一个类等等。如果被锁的代码抛出异常会自动释放锁资源。

lock 锁锁定lock和unlock之间的代码,被锁的代码抛出异常不会自动释放锁资源,需要try catch 后在finally里面手动unlock释放锁资源

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

回复 使用道具 举报
是JDK1.4版本的,Lock锁是JDK1.5版本新添加进来的,可以说Lock锁是synchronized()锁的替代,功能是一样的,但是更加灵活,它实现了锁对象的显示操作,将锁和代码分离。
回复 使用道具 举报
lock是新功能,看毕老师的视频就知道了,它功能更加强大,可以一个锁里面分别唤醒和催眠不同的对象。。
回复 使用道具 举报
这个还真是我的盲点。
回复 使用道具 举报
毕老师大部分内容讲的都是synchronized()锁:funk: 是不是开发中最常用啊
回复 使用道具 举报
synchronized锁可以锁任意对象,唤醒也是对象,是Obj中的方法
Lock的锁的解锁和加锁都是通过为它单独封装的Condition对象来进行的,定义Condition接口锁以及相互唤醒等操作
回复 使用道具 举报
真心学习很多,回答的很详细  受教了~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马