ReentrantLock summary, it is not difficult to see that the implementation of ReentrantLock is divided into these levels:
Impl Abstract Class: Defines the framework of the lock implementation.
FAIRIMPL: A fair lock is implemented using the FIFO.
NonfairiMPL class: Realize unfair lock.
Impl Abstract Class Object IMPL: Using the inheritance of the class, use the FairImpl class (fair and unfair lock) by using the FairImpl class or the nonfairimpl class in different FAIR parameters of the ReentrantLock constructor.