Package org.eclipse.jetty.util.thread
Class AutoLock
java.lang.Object
org.eclipse.jetty.util.thread.AutoLock
- All Implemented Interfaces:
Serializable
,AutoCloseable
- Direct Known Subclasses:
AutoLock.WithCondition
Reentrant lock that can be used in a try-with-resources statement.
Typical usage:
try (AutoLock lock = this.lock.lock()) { // Something }
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A reentrant lock with a condition that can be used in a try-with-resources statement. -
Constructor Summary
-
Method Summary
-
Constructor Details
-
AutoLock
public AutoLock()
-
-
Method Details
-
lock
Acquires the lock.
- Returns:
- this AutoLock for unlocking
-
tryLock
Tries to acquire the lock.
Whether the lock was acquired can be tested with
isHeldByCurrentThread()
.Typical usage of this method is in
toString()
, to avoid deadlocks when the implementation needs to lock to retrieve a consistent state to produce the string.- Returns:
- this AutoLock for unlocking
-
isHeldByCurrentThread
public boolean isHeldByCurrentThread()- Returns:
- whether this lock is held by the current thread
- See Also:
-
newCondition
- Returns:
- a
Condition
associated with this lock
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-