823 B
823 B
LockSupport 工具类
挂起和唤醒线程,使用 Unsafe 类实现的
- void park ()
- void unpark ()
- void parkNanos (long nanos)
- park (Object blocker)
- void parkNanos (Object blocker, long nanos)
- void parkUntil (Object blocker, long deadline)
抽象同步队列 AQS 概述
AbstractQueuedSynchronizer 实现同步器的基础组件
可重入的独占锁,同时只能有一个线程获取该锁,其它线程阻塞放入该锁的 AQS 阻塞队列中
获取锁
- void lock()
- void lockInterruptibly ()
- boolean tryLock ()
释放锁
- void unlock ()
ReentrantReadWriteLock
采用读写分离策略,允许多个线程可以同时获取读锁
StampedLock
提供三种读写模式锁
- 写锁 writeLock
- 悲观读锁 readLock
- 乐观读锁 tryOptimisticRead