摘要: 一、公平、非公平锁的区别 通过ReentrantLock的源码来讲解公平锁和非公平锁。 公平锁与非公平锁的lock()方法唯一的区别就在于公平锁在获取同步状态时多了一个限制条件:hasQueuedPredecessors(),它是公平锁加锁时判断等待队列中是否存在有效节点的方法。 公平锁:公平锁讲究 阅读全文
posted @ 2022-01-11 16:00 幻月hah 阅读(79) 评论(0) 推荐(0)
摘要: 一、什么是AQS 1.1 概念 AbstractQueuedSynchronizer抽象同步队列,其定义了一套多线程访问共享资源的同步器框架,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类变量表示持有锁的状态。 1.2 基石 很多同步类实现都依赖于AQS,如常用的Reentr 阅读全文
posted @ 2022-01-11 15:16 幻月hah 阅读(104) 评论(0) 推荐(0)