黑马程序员技术交流社区

标题: synchronized替换成lock [打印本页]

作者: 刘 佳    时间: 2012-10-15 11:18
标题: synchronized替换成lock
最大区别在哪里?主要是视频后段话没明白,毕老师说lock最牛的地方在于。。。。这里就没懂牛在哪?它比synchronized强在哪呢?
作者: 罗海清    时间: 2012-12-20 10:16
lock是新技术,在需要同步的代码前加上锁,在需要同步的代码后唤醒其他锁,可以只唤醒某个在睡觉线程的锁。但是,synchronized唤醒所有线程的锁时,会唤醒楼主想他睡觉的线程的锁,这样的话,本线程就会和希望运行的线程争夺共享数据,出现线程安全问题。
作者: 酸溜溜    时间: 2012-12-26 16:14
本线程就会和希望运行的线程争夺共享数据,出现线程安全问题。
作者: 李东城    时间: 2013-2-15 19:09
主要相同点:Lock能完成synchronized所实现的所有功能
主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。




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