aqs为什么要从尾部开始唤醒

在AQS(AbstractQueuedSynchronizer)中,从尾部开始唤醒的原因是为了保证公平性。AQS是一个使用FIFO队列来维护线程状态的同步器,当一个线程需要获取锁时会被加入到等待队列的尾部。

如果从队列的头部开始唤醒,那么等待时间较长的线程就可能会被饿死(永远得不到执行),这违背了公平性的原则。

因此,从队列的尾部开始唤醒,保证了等待时间最长的线程首先得到执行的机会,提高了线程竞争的公平性。

剩余:2000