1.5w字,30图带你彻底掌握 AQS!(建议收藏)( 九 )


public class Mutex{private Sync sync = new Sync();public void lock () {sync.acquire(1);}public void unlock () {sync.release(1);}private static class Sync extends AbstractQueuedSynchronizer {@Overrideprotected boolean tryAcquire (int arg) {return compareAndSetState(0, 1);}@Overrideprotected boolean tryRelease (int arg) {setState(0);return true;}@Overrideprotected boolean isHeldExclusively () {return getState() == 1;}}}可以看到区区几行代码就实现了 , 确实很方便 。
总结本文通过图文并茂的方式帮助大家梳理了一遍 AQS 的实现方式 , 相信大家看完对 AQS 应该有了比较深入的认识 , 首先要明白锁的实现原理 , 信号量及管程 , 理解了管程的设计思路对 AQS 有了一个概念上的认识 , 再去读源码就会用管程的概念去套 , 也就更容易理解了 , 另外大家可以多类比一下生活中的场景 , 如就医场景 , 通过类似的方式学习能让我们更好地理解相关技术的设计思路 。
【1.5w字,30图带你彻底掌握 AQS!(建议收藏)】如果觉得本文对你有帮助 , 可以点赞关注支持一下