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

知识点回顾

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

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

与AQS有关的有:

  • ReentrantLock

  • CountDownLatch

  • ReentrantReadWriteLock

  • Semaphore

Semaphore

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

关键方法:

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

  • release:线程释放一个许可,许可将被归还给Semaphore

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

posted @ 2021-09-06 22:41  豆豆tj  阅读(35)  评论(0)    收藏  举报