StampedLock 优点 戳 stamp校验戳乐观读 缺点 不支持条件变量不支持重入 应用 限流资源数与线程数相同的时候(数据库连接池) 原理 acquire:执行try方法 执行一次 state–;如果state = 0,下一次再try就会阻塞放入阻塞队列;release:执行tryrelease方法将state++;如果成功 调用doreleaseShared方法唤醒阻塞结点,如果try成功,从阻塞队列取出,同时唤醒后继share结点,但是如果后继结点try失败,还是会继续阻塞。