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