|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--nl.justobjects.toolkit.collection.GuardedQueue
FIFO queue with guarded suspension.
Purpose
Implementation
FIFO queue class implemented with circular array. The enQueue() and
deQueue() methods use guarded suspension according to a readers/writers
pattern, implemented with java.lang.Object.wait()/notify().
Examples
Field Summary | |
private int |
capacity
Defines maximum queue size |
private int |
front
|
private java.lang.Object[] |
queue
|
private int |
rear
|
Constructor Summary | |
GuardedQueue()
Construct queue with default (8) capacity. |
|
GuardedQueue(int capacity)
Construct queue with specified capacity. |
Method Summary | |
java.lang.Object |
deQueue()
Get head; if empty wait until something in queue. |
java.lang.Object |
deQueue(long maxWaitTime)
Get head; if empty wait for specified time at max. |
boolean |
enQueue(java.lang.Object item)
Put item in queue; waits() indefinitely if queue is full. |
boolean |
enQueue(java.lang.Object item,
long maxWaitTime)
Put item in queue; if full wait maxtime. |
int |
getSize()
|
boolean |
isEmpty()
Is the queue empty ? |
boolean |
isFull()
Is the queue full ? |
static void |
main(java.lang.String[] args)
|
private int |
next(int index)
Circular counter. |
static void |
p(java.lang.String s)
|
Methods inherited from class java.lang.Object |
|
Field Detail |
private int capacity
private java.lang.Object[] queue
private int front
private int rear
Constructor Detail |
public GuardedQueue()
public GuardedQueue(int capacity)
Method Detail |
public boolean enQueue(java.lang.Object item) throws java.lang.InterruptedException
public boolean enQueue(java.lang.Object item, long maxWaitTime) throws java.lang.InterruptedException
public java.lang.Object deQueue() throws java.lang.InterruptedException
public java.lang.Object deQueue(long maxWaitTime) throws java.lang.InterruptedException
public int getSize()
public boolean isEmpty()
public boolean isFull()
private int next(int index)
public static void p(java.lang.String s)
public static void main(java.lang.String[] args)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |