final void lock() {
if (compareAndSetState(0, 1))
setExclusiveOwnerThread(Thread.currentThread());
else
acquire(1);
}
reentranlock这里怎么进入else,网上的资料说第二个线程获取不到锁,就进入了else,但是这里cas不是死循环一直去获取的吗?怎么会进入else?
final void lock() {
if (compareAndSetState(0, 1))
setExclusiveOwnerThread(Thread.currentThread());
else
acquire(1);
}
reentranlock这里怎么进入else,网上的资料说第二个线程获取不到锁,就进入了else,但是这里cas不是死循环一直去获取的吗?怎么会进入else?
哪里有循环
没有for,没有while也没有递归,是怎么死循环的呢