第241天学习打卡(知识点回顾 AQS之Semaphore)

Posted doudoutj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第241天学习打卡(知识点回顾 AQS之Semaphore)相关的知识,希望对你有一定的参考价值。

知识点回顾

AQS(AbstractQueuedSynchronizer)抽象的队列同步器

是用来构建锁或者其他同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类型变量表示锁的状态。

与AQS有关的有:

  • ReentrantLock
  • CountDownLatch
  • ReentrantReadWriteLock
  • Semaphore

Semaphore

又称为信号灯,在多线程环境下用于协调各个线程,以保证他们能够正确合理的使用资源。

关键方法:

  • acquire:线程通过acquire()方法获取到一个许可,然后对资源进行操作,如果许可集已经分配完了,那么线程将进入等待状态,直到其他线程释放许可才有机会获取许可。
  • release:线程释放一个许可,许可将被归还给Semaphore

B站:尚硅谷2021逆袭版Java面试题第三季(java大厂面试题,周阳主讲)_哔哩哔哩_bilibili

以上是关于第241天学习打卡(知识点回顾 AQS之Semaphore)的主要内容,如果未能解决你的问题,请参考以下文章

第242天学习打卡(知识点回顾 AQS)

第282天学习打卡(知识点回顾 springboot JUnit5的特性)

第295天学习打卡(知识点回顾 二叉树 二叉搜索树)

第295天学习打卡(知识点回顾 二叉树 二叉搜索树)

第300天学习打卡(知识点回顾 hashmap如何实现线程安全)

第300天学习打卡(知识点回顾 hashmap如何实现线程安全)