公平锁和非公平锁

公平锁和非公平锁

公平锁是指多个线程等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁

    • 特点:等待锁的线程不会饿死,但整体效率相对低一些

    • 非公平锁是指可以不按照顺序,可以抢占锁

      特点:整体效率高,但有些线程会饿死或者说很早就在等待锁,但要等很久才会获得锁
      重入锁有这样一个构造函数,对公平性进行设置。当fair为true时,表示此锁是公平的

原文地址:https://www.cnblogs.com/Booker808-java/p/8724766.html