synchronized和ReentantLock的区别

synchronized底层是jvm监视器锁(monitor),ReentantLock底层是继承了AQS(抽象队列同步器)
synchronized是隐式锁,不需要手动释放锁,ReentantLock是显示锁,需要手动加锁和释放锁
synchronized可以作用于方法和代码块上,ReentantLock只能在代码块上
synchronized是公平锁,ReentantLock支持公平锁和非公平锁
synchronized不支持响应中断,ReentantLock支持响应中断

你可能感兴趣的:(多线程,多线程,java)