|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.ObjectEDU.oswego.cs.dl.util.concurrent.Semaphore
EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore
public abstract class QueuedSemaphore
Abstract base class for semaphores relying on queued wait nodes.
[ Introduction to this package. ]
| Nested Class Summary | |
|---|---|
protected static class |
QueuedSemaphore.WaitQueue
Base class for internal queue classes for semaphores, etc. |
| Field Summary | |
|---|---|
protected QueuedSemaphore.WaitQueue |
wq_
|
| Fields inherited from class EDU.oswego.cs.dl.util.concurrent.Semaphore |
|---|
permits_ |
| Fields inherited from interface EDU.oswego.cs.dl.util.concurrent.Sync |
|---|
ONE_CENTURY, ONE_DAY, ONE_HOUR, ONE_MINUTE, ONE_SECOND, ONE_WEEK, ONE_YEAR |
| Method Summary | |
|---|---|
void |
acquire()
Wait until a permit is available, and take one |
boolean |
attempt(long msecs)
Wait at most msecs millisconds for a permit. |
protected QueuedSemaphore.WaitQueue.WaitNode |
getSignallee()
|
protected boolean |
precheck()
|
protected boolean |
recheck(QueuedSemaphore.WaitQueue.WaitNode w)
|
void |
release()
Release a permit |
void |
release(long n)
Release N permits |
| Methods inherited from class EDU.oswego.cs.dl.util.concurrent.Semaphore |
|---|
permits |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final QueuedSemaphore.WaitQueue wq_
| Method Detail |
|---|
public void acquire()
throws java.lang.InterruptedException
Semaphore
acquire in interface Syncacquire in class Semaphorejava.lang.InterruptedException
public boolean attempt(long msecs)
throws java.lang.InterruptedException
Semaphore
attempt in interface Syncattempt in class Semaphoremsecs - the number of milleseconds to wait.
An argument less than or equal to zero means not to wait at all.
However, this may still require
access to a synchronization lock, which can impose unbounded
delay if there is a lot of contention among threads.
java.lang.InterruptedExceptionprotected boolean precheck()
protected boolean recheck(QueuedSemaphore.WaitQueue.WaitNode w)
protected QueuedSemaphore.WaitQueue.WaitNode getSignallee()
public void release()
Semaphore
release in interface Syncrelease in class Semaphorepublic void release(long n)
release in class Semaphore
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||