Interface InterProcessLock

All Known Implementing Classes:
InterProcessMultiLock, InterProcessMutex, InterProcessReadWriteLock.ReadLock, InterProcessReadWriteLock.WriteLock, InterProcessSemaphoreMutex

public interface InterProcessLock
NOTE: depending on its implementation, release() may throw an exception if the current thread does not own the lock
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Acquire the mutex - blocking until it's available.
    boolean
    acquire(long time, TimeUnit unit)
    Acquire the mutex - blocks until it's available or the given time expires.
    boolean
    Returns true if the mutex is acquired by a thread in this JVM
    void
    Perform one release of the mutex.
  • Method Details

    • acquire

      void acquire() throws Exception
      Acquire the mutex - blocking until it's available. Each call to acquire must be balanced by a call to release()
      Throws:
      Exception - ZK errors, connection interruptions
    • acquire

      boolean acquire(long time, TimeUnit unit) throws Exception
      Acquire the mutex - blocks until it's available or the given time expires. Each call to acquire that returns true must be balanced by a call to release()
      Parameters:
      time - time to wait
      unit - time unit
      Returns:
      true if the mutex was acquired, false if not
      Throws:
      Exception - ZK errors, connection interruptions
    • release

      void release() throws Exception
      Perform one release of the mutex.
      Throws:
      Exception - ZK errors, interruptions
    • isAcquiredInThisProcess

      boolean isAcquiredInThisProcess()
      Returns true if the mutex is acquired by a thread in this JVM
      Returns:
      true/false