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监视器方法( wait , notify和 notifyAll )成不同的对象,以得到具有多个等待集的每个对象,通过将它们与使用任意的组合的效果 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!