Java锁机制——AQS类
2015-11-15 17:13:50 0 举报
AQS(AbstractQueuedSynchronizer)类是Java锁机制的核心,它是一个抽象的同步器,为自定义同步器提供了基础框架。AQS维护了一个FIFO队列,当线程请求资源时,将当前线程封装成一个Node节点加入队列中。AQS通过继承AbstractQueuedSynchronizer类并实现其内部方法来定义具体的同步器行为。AQS的主要方法包括:acquire()、release()、tryAcquire()、tryRelease()等。这些方法用于实现资源的获取和释放,以及线程的阻塞和唤醒。AQS类使得Java锁机制更加灵活和高效,可以方便地实现各种复杂的同步场景。
作者其他创作
大纲/内容
重要属性
继承自
AbstractOwnableSynchronizer
Thread类 exclusiveOwnerThread
setExclusiveOwnerThreadgetExclusiveOwnerThread
AbstractQueuedSynchronizer
state记录锁被锁的次数
Node 内部类
waitStatusprev 前驱nextnextWaiterthread 保存的线程
headtail
compareAndSetState方法设置state值
ConditionObject内部类
firstWaiterlastWaiter
addConditionWaiter
0 条评论
下一页