AQS与CAS

作者: 内卷星球 | 来源:发表于2019-04-29 17:30 被阅读0次

    AQS(AbstractQueueSynchronizer)抽象队列同步器

    维护了一个 int state(代表共享资源,volatile修饰)和一个 FIFO 线程等待队列(多线程争用资源被
    阻塞时会进入此队列)

    资源共享方式

    • 独占--->ReentrantLock
    • 共享--->Semaphore/CountDownLatch
    • 独占+共享--->ReentrantReadWriteLock

    CAS(Compare And Swap/Set)比较并交换-乐观锁机制-锁自旋

    当且仅当内存值V等于预期值A,才会将内存值设置为新值N

    • 锁自旋--->AtomicInteger.getAndIncrement
    • ABA问题--->版本号解决

    相关文章

      网友评论

          本文标题:AQS与CAS

          本文链接:https://www.haomeiwen.com/subject/snkunqtx.html