Java中synchronized和Lock的区别
Posted 晴空半岛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中synchronized和Lock的区别相关的知识,希望对你有一定的参考价值。
synchronized和Lock的区别
synchronize
锁对象可以是任意对象,由于监视器方法必须要拥有锁对象那么任意对象都可以调用的方法所以将其抽取到Object类中去定义监视器方法
这样锁对象和监视器对象是同一个,只要创建了锁对象它既是锁对象同时也是监视器对象这样不能实现在一个锁对象上绑定多个监视器对象
jdk1.5中Lock对象仅仅是一个锁对象
监视器方法被封装到了Condition对象中这样实现了锁对象和监视器对象进行了分离更加的面向对象
这样可以实现在一个锁对象上绑定多个监视器对象
在一个锁对象上绑定多个监视器对象可以解决在多生产者多消费者多线程模型中一方等待唤醒另一方的问题
以上是关于Java中synchronized和Lock的区别的主要内容,如果未能解决你的问题,请参考以下文章
Java并发多线程编程——synchronized和Lock区别
java面试题lock和synchronized有什么区别?
[转] 深入研究 Java Synchronize 和 Lock 的区别与用法
深入研究 Java Synchronize 和 Lock 的区别与用法