Interface ToolkitLock


public interface ToolkitLock
Marker for a singleton global recursive blocking lock implementation, optionally locking a native windowing toolkit as well.

Toolkit locks are created solely via NativeWindowFactory.

One use case is the AWT locking on X11, see NativeWindowFactory.getDefaultToolkitLock(String, long).

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final boolean
     
    static final boolean
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Dispose this instance.
    void
    Blocking until the lock is acquired by this Thread or a timeout is reached.
    void
    Release the lock.
    void
     
  • Field Details

    • DEBUG

      static final boolean DEBUG
    • TRACE_LOCK

      static final boolean TRACE_LOCK
  • Method Details

    • lock

      void lock()
      Blocking until the lock is acquired by this Thread or a timeout is reached.

      Timeout is implementation specific, if used at all.

      Throws:
      RuntimeException - in case of a timeout
    • unlock

      void unlock()
      Release the lock.
      Throws:
      RuntimeException - in case the lock is not acquired by this thread.
    • validateLocked

      void validateLocked() throws RuntimeException
      Throws:
      RuntimeException - if current thread does not hold the lock
    • dispose

      void dispose()
      Dispose this instance.

      Shall be called when instance is no more required.

      This allows implementations sharing a lock via resources to decrease the reference counter.