java.util.concurrent.locks.ReentrantLock
提供了比synchronized提供更灵活的锁,可以设置为公平锁,非公平锁,能够带超时时间获取公平锁等等。
synchronized
Java默认提供,由JVM提供。但是因为JVM的黑盒子特性,锁特性会在运行中发生变化。
具体可以翻阅一下这篇文章
java.util.concurrent.locks.ReentrantLock
提供了比synchronized提供更灵活的锁,可以设置为公平锁,非公平锁,能够带超时时间获取公平锁等等。
synchronized
Java默认提供,由JVM提供。但是因为JVM的黑盒子特性,锁特性会在运行中发生变化。
具体可以翻阅一下这篇文章