什么是AQS:打个比方:实际上是协作工具类的基础框架
    Semaphore:一个人面试完了,后一个人才能进来继续面试
    CountDownLatch:群面,等待10人到齐
    Semaphore,CountDownLatch这些都是同步工具类,要做的,就只是写下自己的“要人”规则。比如是“出一个进一个”,或者是“凑齐10人一块面试”

    如果没有AQS:每个协作工具自己实现:
    同步状态的原子性管理
    线程的阻塞与解除阻塞
    队列的管理
    在并发场景下,自己正确且高效实现这些内容,是相当有难度的,所以我们用AQS来帮我们实现这些通用功能,我们只关注业务逻辑就够了

    AQS作用:
    AQS是一个用于构建锁,同步器,协作工具类的工具类(框架),有了AQS,更多的协作工具类都可以很方便的被写出来

    一句话总结:有了AQS,构建线程协作类就容易多了,也是最重要的作用