ReentrantLock可以成为公平锁。所谓公平锁就是让等待最长的线程最早获得该锁(获得锁的顺序和申请锁的顺序是一致的);与之对应的synchronized是非公平的、当然ReentrantLock也可以成为非公平锁;只是公平锁的性能相对差一些。
synchronized锁是基于对象的,一个线程占有了锁,其他线程不能再进入这个对象的任何synchronized方法。而ReentrantLock基于对象中段的,可以将对象划分成不同的块,使用不同的锁子。
synchronized锁是基于对象的,一个线程占有了锁,其他线程不能再进入这个对象的任何synchronized方法。而ReentrantLock基于对象中段的,可以将对象划分成不同的块,使用不同的锁子。