public class Semaphore extends java.lang.Object implements Sync
| Modifier and Type | Class and Description |
|---|---|
private class |
Semaphore.Info |
| Modifier and Type | Field and Description |
|---|---|
private static long |
DEADLOCK_TIMEOUT |
private int |
m_allowed |
private static boolean |
m_debug |
private java.util.Map |
m_logMap |
private int |
m_users |
| Constructor and Description |
|---|
Semaphore(int allowed) |
| Modifier and Type | Method and Description |
|---|---|
void |
acquire()
Acquires this sync
|
int |
getUsers() |
protected void |
logAcquire() |
protected void |
logDeadlock() |
protected void |
logRelease() |
void |
release()
Releases this sync
|
java.lang.String |
toString() |
protected boolean |
waitImpl(java.lang.Object lock) |
private static final long DEADLOCK_TIMEOUT
private static final boolean m_debug
private int m_users
private int m_allowed
private java.util.Map m_logMap
public int getUsers()
public void acquire()
throws java.lang.InterruptedException
Syncacquire in interface Syncjava.lang.InterruptedExceptionSync.release()public void release()
Syncrelease in interface SyncSync.acquire()public java.lang.String toString()
toString in class java.lang.Objectprotected boolean waitImpl(java.lang.Object lock)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprotected void logAcquire()
protected void logDeadlock()
protected void logRelease()