公平锁:按照队列顺序,一个接一个的获取锁 优点:所有线程都能得到资源 缺点:吞吐量会降低,唤醒下一个线程的cpu开销比较大 非公平锁:无需排队,直接去获取锁,获取不到则会回到队列继续等待,合适时机可随时再去获取 优点:吞吐量加大,无需唤醒其他线程 缺点:会有部分线程从头至尾都获取不到锁,导致线程饿死 参考文章:https://www.imooc.com/article/302143