Most visited

Recently visited

Added in API level 1

java.util.concurrent.locks

Interfaces and classes providing a framework for locking and waiting for conditions that is distinct from built-in synchronization and monitors. The framework permits much greater flexibility in the use of locks and conditions, at the expense of more awkward syntax.

Lock接口支持语义(可重入,公平等)不同的锁定规则,并且可以在非块结构的上下文中使用,包括Lock和锁定重排算法。 主要实现是ReentrantLock

ReadWriteLock接口类似地定义了可以在读者之间共享但是作者专用的锁。 由于它涵盖了大多数标准的使用情境,因此只提供了一个实现,即ReentrantReadWriteLock 但是程序员可以创建自己的实现来覆盖非标准的需求。

Condition接口描述了可能与锁关联的条件变量。 这些使用类似于使用Object.wait访问的隐式监视器,但提供了扩展功能。 特别是,多个Condition对象可能与单个Lock关联。 为避免兼容性问题, Condition方法的名称与相应的Object版本不同。

AbstractQueuedSynchronizer类用作定义锁和其他同步器的有用超类,这些同步器依赖排队被阻塞的线程。 AbstractQueuedLongSynchronizer类提供了相同的功能,但支持64位的同步状态。 两者都扩展了类AbstractOwnableSynchronizer ,这是一个简单的类,用于帮助记录当前正在进行独占同步的线程。 LockSupport类提供较低级别的阻塞和解除阻塞支持,这对于那些实现其自定义锁定类的开发人员非常有用。

Interfaces

Condition Condition因素出 Object监视器方法( waitnotifynotifyAll )成不同的对象,以得到具有多个等待集的每个对象,通过将它们与使用任意的组合的效果 Lock实现。
Lock Lock实现提供了比使用 synchronized方法和语句可获得的锁定操作更广泛的锁定操作。
ReadWriteLock A ReadWriteLock维护一对关联的 locks ,一个用于只读操作,另一个用于写入。

Classes

AbstractOwnableSynchronizer 同步器可能由线程专有。
AbstractQueuedLongSynchronizer AbstractQueuedSynchronizer版本,其中同步状态保持为 long
AbstractQueuedLongSynchronizer.ConditionObject Condition实现 AbstractQueuedLongSynchronizer作为基础 Lock实施。
AbstractQueuedSynchronizer 为实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)提供框架。
AbstractQueuedSynchronizer.ConditionObject Condition实现 AbstractQueuedSynchronizer作为基础 Lock实施。
LockSupport 用于创建锁定和其他同步类的基本线程阻塞原语。
ReentrantLock 可重入的互斥 Lock具有与使用 synchronized方法和语句访问的隐式监视器锁相同的基本行为和语义,但具有扩展功能。
ReentrantReadWriteLock 支持 ReadWriteLock类似语义的实现 ReentrantLock
ReentrantReadWriteLock.ReadLock 方法 readLock()返回的锁定。
ReentrantReadWriteLock.WriteLock 由方法 writeLock()返回的锁。
StampedLock 基于能力的锁定,具有三种控制读/写访问的模式。

Hooray!