接口 | 描述 |
---|---|
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
类提供较低级别的阻塞和解除阻塞支持,对于实施自己的自定义锁类的开发人员来说,这是非常有用的。