admin管理员组

文章数量:1599543

await方法会阻塞ThreadA,然后ThreadB抢占到了锁获得了执行权限,这个时候在ThreadB中调用了Condition的signal()方法,将会唤醒在等待队列中节点

public final void signal() { 
	if (!isHeldExclusively()) //先判断当前线程是否获得了锁,这个判断比较简单,直接用获得锁的线程和当前线程相比即可 
	throw new 
	IllegalMonitorStateException(); 
	Node first = firstWaiter; // 拿到 Condition队列上第一个节点 
	if (first != null) 
	doSignal(first); 
} 

 

本文标签: conditionSignal