synchronized和Reentrantlock的区别

时间:2020-05-11 23:47:15   收藏:0   阅读:62

1、Synchronized是jvm层面的锁是由jvm实现的而ReentrantLock是Api层面的锁它需要lock()和unlock()方法来获得锁和释放锁。

2、ReentrantLock获取锁可等待中断、可作为公平锁和非公平锁而Synchronized只能阻塞的等待获取锁、只能为非公平锁。

3、ReentrantLock可以通过Condition方法绑定多个条件然后根据条件的不同分批唤醒,Synchronized只能唤醒随机一个线程或全部唤醒。

原文:https://www.cnblogs.com/rhodesis/p/12872887.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!