org.firebirdsql.pool
Class BlockingStack
java.lang.Object
org.firebirdsql.pool.BlockingStack
public class BlockingStack
extends java.lang.Object
Object stack that implements a blocking LIFO (last-in-first-out) stack. The
implementation will block when the list is empty.
protected Object | extract()
|
boolean | isEmpty() - Checks to see if the stack is empty.
|
Object | peek() - Return, but do not remove, the object at the top of the stack.
|
Object | pop() - Return and remove the object at the top of the stack.
|
Object | pop(long msec) - Return and remove the object at the top of the stack only if it is
available within the specified number of milliseconds, otherwise return
null.
|
void | push(Object item) - Push an object onto the stack.
|
topLock
protected Object topLock
waiting
protected int waiting
Number of threads waiting for an object.
extract
protected Object extract()
isEmpty
public boolean isEmpty()
Checks to see if the stack is empty.
- true if empty, false otherwise.
peek
public Object peek()
Return, but do not remove, the object at the top of the stack.
- the object at the top of the stack, null if stack is empty.
pop
public Object pop()
throws InterruptedException
Return and remove the object at the top of the stack. If the stack is
empty, wait until an object exists.
- the object at the top of the stack.
pop
public Object pop(long msec)
throws InterruptedException
Return and remove the object at the top of the stack only if it is
available within the specified number of milliseconds, otherwise return
null.
msec
- to wait for an object before returning null.
- the object at the top of the stack.
push
public void push(Object item)
throws InterruptedException
Push an object onto the stack. If the stack is unavailable, wait until it
becomes available.
item
- to be pushed onto the stack.
Copyright B) 2001 David Jencks and other authors. All rights reserved.