Java 多线程同步问题的探究(三、Lock来了,大家都让开【2. Fair or Unfair? It is a question...】)
让我们继续前面有关ReentrantLock的话题。首先,ReentrantLock有一个带布尔型参数的构造函数,在JDK官方文档中对它是这样描述的:“此类的构造方法接受一个可选的公平参数。当设置为true时,在多个线程的争用下,这些锁倾向于将访问权授予等待时间最长的线程。否则此锁将无法保证任何特定访问顺序。与采用默认设置(使用不公平锁)相比,使用公平锁的程序在许多线程访问时表现为很低的总体吞吐量