reentrabtlock是公平锁吗
时间: 2024-01-26 12:05:57 浏览: 25
ReentrantLock 可以是公平锁也可以是非公平锁,这取决于构造函数传入的参数。如果在构造函数中传入 true,则创建的是公平锁,否则是非公平锁。在公平锁中,线程获取锁的顺序是按照线程等待的时间长短来确定的,即先等待的线程先获取锁。在非公平锁中,线程获取锁是没有顺序的,可能会出现后等待的线程比先等待的线程先获取锁的情况。需要注意的是,公平锁的性能较低,因为需要维护一个有序队列,而非公平锁的性能较高,但可能存在“饥饿”现象,即某些线程一直无法获取到锁。