接口 | 描述 |
---|---|
Condition | |
Lock |
Lock 实现提供比使用
synchronized 方法和语句可以获得的更广泛的锁定操作。
|
ReadWriteLock |
A ReadWriteLock 维护一对关联的locks ,一个用于只读操作,一个用于写入。
|
类 | 描述 |
---|---|
AbstractOwnableSynchronizer |
可以由线程专有的同步器。
|
AbstractQueuedLongSynchronizer |
AbstractQueuedSynchronizer 版本,其中同步状态维持为long 。
|
AbstractQueuedSynchronizer |
提供一个框架,用于实现依赖先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)。
|
LockSupport |
用于创建锁和其他同步类的基本线程阻塞原语。
|
ReentrantLock |
一个可重入互斥 Lock 具有相同的基本行为和语义的隐式监视器锁定使用访问synchronized 方法和语句,但功能更强大。
|
ReentrantReadWriteLock |
ReadWriteLock 的实现支持类似的语义到ReentrantLock 。
|
ReentrantReadWriteLock.ReadLock |
该锁由方法
ReentrantReadWriteLock.readLock() 返回。
|
ReentrantReadWriteLock.WriteLock |
该锁由方法
ReentrantReadWriteLock.writeLock() 返回。
|
StampedLock |
一种基于能力的锁,具有三种模式用于控制读/写访问。
|
Lock
接口支持语义(可重入,公平等)不同的锁定规则,可用于非块结构上下文中,包括手持和重新排序算法。 主要实现为ReentrantLock
。
ReadWriteLock
接口类似地定义了可能在读者之间共享的锁,但是作者是排他的。 仅提供单一实现( ReentrantReadWriteLock
),因为它涵盖了大多数标准使用上下文。 但程序员可能会创建自己的实现来覆盖非标准要求。
该Condition
接口描述了可能会与锁有关条件变量。 这些使用方式与使用Object.wait
访问的隐式监视器Object.wait
,但提供扩展功能。 特别地,多个Condition
对象可以与单个Lock
。 为避免兼容性问题, Condition
方法的名称与相应的Object
版本不同。
AbstractQueuedSynchronizer
类用作定义锁和其他依赖排队阻塞线程的同步器的有用超类。 AbstractQueuedLongSynchronizer
类提供相同的功能,但扩展了对64位同步状态的支持。 两者都扩展类AbstractOwnableSynchronizer
,一个简单的类,可以帮助记录当前持有排他同步的线程。 LockSupport
类提供了较低级别的阻塞和解除阻塞支持,对于那些开发自己的定制锁类的开发人员来说,这是非常有用的。