公平锁与非公平锁 首先理解 公平 与 非公平 ,公平就是 不插队,非公平就是 插队。 操作系统调度线程的方式就是 随机的,也就是说是 非公平锁。 Java 中 synchronized 是 非公平锁。(自旋锁 也是 非公平锁) 如果想实现非公平锁,那么就需要做出额外的处理: 记录每个线程竞争锁的时间;按照时间对线程排序;根据排序来调度线程。