赞
踩
抽象队列同步器,一个抽取了MESA模型的抽象类,封装了一些操作MESA的基本方法
AQS是JUC包的基础,基本上都是依靠aqs去实现的,用于多线程同步操作
,即,同一时间,只有一个线程在执行
用于表示node.head是否持有锁
当state为0时,当前线程不持有锁
同步队列的节点,AQS中,同步队列是一个双向链表,每个线程都是一个node,并且,每个线程,都在一个 for(;;)中park,当node.head开始执行,并且state==0,并且当前node的waitStatus==-1时
,会对当前node.next.thread做unpark操作,这样,就可以唤醒下一个线程
node.head 一定是当前操作的线程
当node.waitStatus为-1时,可以唤醒链表中的next节点
node是一个双向链表,除了head.waitStatus=0以外,所有的节点waitStatus都应该是-1
node是一个双向链表,除了head.waitStatus=0以外,所有的节点waitStatus都应该是-1,在node.head执行之后,节点waitStatus可能为0,因为有传播机制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。