1 可以手动实现一个类似reentrantlock的工具,首先要维护一个state的标志,代表当前是否有线程已经使用资源.线程lock的时候, 会用cas给state加1,其他线程检测状态.另外需要维护一个等待队列,争夺不到资源的线程统一挂起(park),等线程unlock的时候, 标志减为0,同时从队列里挑一个线程unpark唤醒,继续得到资源操作:如果想让队列线程竞争,就都唤醒,最终只有一个得到资源. 这是实现了基本的锁. public class LkLock { private Reen