AQS 同步组件使用

AQS 实现原理,源码查看

AQS 同步组件使用
int state
X锁
S锁
acquire()
release()

常用组件

CountDownLatch

  • 线程同步,
  • 基本用法
    countDown()
    await()
  • 带超时限制的
    await with timeout
  • 注意事项
    • 确保countDown 无遗漏

Semaphore

  • 信号量机制
  • release()
  • acquire()
  • tryAcquire()

CyclicBarrier

reset()
await()

多个线程相互等待,到达同一个条件后,各自执行后续逻辑。

ReentrantLock

可重入锁
计数器机制
jvm层面实现的

Synchronized
cas
功能性
synchronized

fair /unfair
自旋锁 ,线程切换的方面

Condition

分组唤醒需要唤醒的线程

FutureTask