夜光带你走进 Java 成神之路(四十二)擅长的领域
夜光序言: 你不曾给我一次回眸,我却始终在对你微笑。 正文: 以道御术 / 以术识道 package 使用AQS重写自己的锁; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.AbstractQueuedSynchronizer; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; public class MyLock2 implements Lock{ private Helper helper; private class Helper extends AbstractQueuedSynchronizer{ //继承一下AbstractQueuedSynchronizer @Override protected boolean tryAcquire(int arg) { //如果第一个线程进来,我们可以拿到锁 //因此我们可以返回true //如果第二个线程进来,拿不到锁,返回false //如何判断是第一个线程进来,还是其他线程进来 int state = getState(); // 拿到状态 if (state == 0){ // setState(arg);