第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
以上是关于第241天学习打卡(知识点回顾 AQS之Semaphore)的主要内容,如果未能解决你的问题,请参考以下文章
第282天学习打卡(知识点回顾 springboot JUnit5的特性)