Interface Lock

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean DEBUG
      Enable via the property jogamp.debug.Lock
      static long DEFAULT_TIMEOUT
      The default TIMEOUT value, of 5000L ms
      static long TIMEOUT
      The TIMEOUT for lock() in ms, defaults to DEFAULT_TIMEOUT.
      static boolean TRACE_LOCK
      Enable via the property jogamp.debug.Lock.TraceLock
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isLocked()
      Query if locked
      void lock()
      Blocking until the lock is acquired by this Thread or TIMEOUT is reached.
      boolean tryLock​(long timeout)
      Blocking until the lock is acquired by this Thread or maxwait in ms is reached.
      void unlock()
      Release the lock.
    • Field Detail

      • DEBUG

        static final boolean DEBUG
        Enable via the property jogamp.debug.Lock
      • TRACE_LOCK

        static final boolean TRACE_LOCK
        Enable via the property jogamp.debug.Lock.TraceLock
      • TIMEOUT

        static final long TIMEOUT
        The TIMEOUT for lock() in ms, defaults to DEFAULT_TIMEOUT.

        It can be overridden via the system property jogamp.common.utils.locks.Lock.timeout.

    • Method Detail

      • tryLock

        boolean tryLock​(long timeout)
                 throws InterruptedException
        Blocking until the lock is acquired by this Thread or maxwait in ms is reached.
        Parameters:
        timeout - Maximum time in ms to wait to acquire the lock. If this value is zero, the call returns immediately either without being able to acquire the lock, or with acquiring the lock directly while ignoring any scheduling order.
        Returns:
        true if the lock has been acquired within maxwait, otherwise false
        Throws:
        InterruptedException
      • isLocked

        boolean isLocked()
        Query if locked