synchronized和Reentrantlock的区别
1、Synchronized是jvm层面的锁是由jvm实现的而ReentrantLock是Api层面的锁它需要lock()和unlock()方法来获得锁和释放锁。
2、ReentrantLock获取锁可等待中断、可作为公平锁和非公平锁而Synchronized只能阻塞的等待获取锁、只能为非公平锁。
3、ReentrantLock可以通过Condition方法绑定多个条件然后根据条件的不同分批唤醒,Synchronized只能唤醒随机一个线程或全部唤醒。
浙公网安备 33010602011771号