Class AutoLock

java.lang.Object
org.eclipse.jetty.util.thread.AutoLock
All Implemented Interfaces:
Serializable, AutoCloseable
Direct Known Subclasses:
AutoLock.WithCondition

public class AutoLock extends Object implements AutoCloseable, Serializable

Reentrant lock that can be used in a try-with-resources statement.

Typical usage:

 try (AutoLock lock = this.lock.lock())
 {
     // Something
 }
 
See Also:
  • Constructor Details

    • AutoLock

      public AutoLock()
  • Method Details

    • lock

      public AutoLock lock()

      Acquires the lock.

      Returns:
      this AutoLock for unlocking
    • tryLock

      public AutoLock 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

      public Condition newCondition()
      Returns:
      a Condition associated with this lock
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable