com.jogamp.common.util.locks
Class SingletonInstance
java.lang.Object
com.jogamp.common.util.locks.SingletonInstance
- All Implemented Interfaces:
- Lock
public abstract class SingletonInstance
- extends Object
- implements Lock
Field Summary |
protected static boolean |
DEBUG
|
DEBUG
protected static final boolean DEBUG
- See Also:
- Constant Field Values
SingletonInstance
protected SingletonInstance(long poll_ms)
createFileLock
public static SingletonInstance createFileLock(long poll_ms,
String lockFileBasename)
createFileLock
public static SingletonInstance createFileLock(long poll_ms,
File lockFile)
createServerSocket
public static SingletonInstance createServerSocket(long poll_ms,
int portNumber)
- A user shall use ephemeral ports:
- IANA suggests 49152 to 65535 as "dynamic and/or private ports".
- Many GNU/Linux kernels use 32768 to 61000.
- FreeBSD >= 4.6 uses the IANA port range.
- FreeBSD < 4.6 and BSD use ports 1024 through 4999.
- Microsoft Windows operating systems through Server 2003 use the range 1025 to 5000
- Windows Vista, Windows 7, and Server 2008 use the IANA range.
- Parameters:
pollPeriod
- portNumber
- to be used for this single instance server socket.
getPollPeriod
public final long getPollPeriod()
getName
public abstract String getName()
toString
public final String toString()
- Overrides:
toString
in class Object
lock
public void lock()
throws RuntimeException
- Description copied from interface:
Lock
- Blocking until the lock is acquired by this Thread or
Lock.TIMEOUT
is reached.
- Specified by:
lock
in interface Lock
- Throws:
RuntimeException
- in case of Lock.TIMEOUT
tryLock
public boolean tryLock(long maxwait)
throws RuntimeException
- Description copied from interface:
Lock
- Blocking until the lock is acquired by this Thread or
maxwait
in ms is reached.
- Specified by:
tryLock
in interface Lock
- Parameters:
maxwait
- 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:
RuntimeException
- in case of Lock.TIMEOUT
tryLockImpl
protected abstract boolean tryLockImpl()
unlock
public void unlock()
throws RuntimeException
- Description copied from interface:
Lock
- Unblocking.
- Specified by:
unlock
in interface Lock
- Throws:
RuntimeException
- in case the lock is not acquired by this thread.
unlockImpl
protected abstract boolean unlockImpl()
isLocked
public boolean isLocked()
- Specified by:
isLocked
in interface Lock