|
Apache Tomcat 7.0.22 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.tomcat.jdbc.pool.FairBlockingQueue<E>
public class FairBlockingQueue<E>
A simple implementation of a blocking queue with fairness waiting.
invocations to method poll(...) will get handed out in the order they were received.
Locking is fine grained, a shared lock is only used during the first level of contention, waiting is done in a
lock per thread basis so that order is guaranteed once the thread goes into a suspended monitor state.
Not all of the methods of the BlockingQueue are implemented.
| Nested Class Summary | |
|---|---|
protected class |
FairBlockingQueue.ExchangeCountDownLatch<T>
|
protected class |
FairBlockingQueue.FairIterator
|
protected class |
FairBlockingQueue.ItemFuture<T>
|
| Constructor Summary | |
|---|---|
FairBlockingQueue()
Creates a new fair blocking queue. |
|
| Method Summary | ||
|---|---|---|
boolean |
add(E e)
|
|
boolean |
addAll(java.util.Collection<? extends E> c)
|
|
void |
clear()
|
|
boolean |
contains(java.lang.Object e)
|
|
boolean |
containsAll(java.util.Collection<?> c)
|
|
int |
drainTo(java.util.Collection<? super E> c)
|
|
int |
drainTo(java.util.Collection<? super E> c,
int maxElements)
|
|
E |
element()
|
|
boolean |
isEmpty()
|
|
java.util.Iterator<E> |
iterator()
|
|
boolean |
offer(E e)
Will always return true, queue is unbounded. |
|
boolean |
offer(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
Will never timeout, as it invokes the offer(Object) method. |
|
E |
peek()
|
|
E |
poll()
|
|
E |
poll(long timeout,
java.util.concurrent.TimeUnit unit)
Fair retrieval of an object in the queue. |
|
java.util.concurrent.Future<E> |
pollAsync()
Request an item from the queue asynchronously |
|
void |
put(E e)
|
|
int |
remainingCapacity()
|
|
E |
remove()
|
|
boolean |
remove(java.lang.Object e)
|
|
boolean |
removeAll(java.util.Collection<?> c)
|
|
boolean |
retainAll(java.util.Collection<?> c)
|
|
int |
size()
|
|
E |
take()
|
|
java.lang.Object[] |
toArray()
|
|
|
toArray(T[] a)
|
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.util.Collection |
|---|
equals, hashCode |
| Constructor Detail |
|---|
public FairBlockingQueue()
| Method Detail |
|---|
public boolean offer(E e)
offer in interface java.util.concurrent.BlockingQueue<E>offer in interface java.util.Queue<E>
public boolean offer(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
offer(Object) method.
Once a lock has been acquired, the
offer in interface java.util.concurrent.BlockingQueue<E>java.lang.InterruptedException
public E poll(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
poll in interface java.util.concurrent.BlockingQueue<E>java.lang.InterruptedExceptionpublic java.util.concurrent.Future<E> pollAsync()
public boolean remove(java.lang.Object e)
remove in interface java.util.Collection<E>remove in interface java.util.concurrent.BlockingQueue<E>public int size()
size in interface java.util.Collection<E>public java.util.Iterator<E> iterator()
iterator in interface java.lang.Iterable<E>iterator in interface java.util.Collection<E>public E poll()
poll in interface java.util.Queue<E>public boolean contains(java.lang.Object e)
contains in interface java.util.Collection<E>contains in interface java.util.concurrent.BlockingQueue<E>public boolean add(E e)
add in interface java.util.Collection<E>add in interface java.util.concurrent.BlockingQueue<E>add in interface java.util.Queue<E>
public int drainTo(java.util.Collection<? super E> c,
int maxElements)
drainTo in interface java.util.concurrent.BlockingQueue<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic int drainTo(java.util.Collection<? super E> c)
drainTo in interface java.util.concurrent.BlockingQueue<E>java.lang.UnsupportedOperationException - - this operation is not supported
public void put(E e)
throws java.lang.InterruptedException
put in interface java.util.concurrent.BlockingQueue<E>java.lang.InterruptedExceptionpublic int remainingCapacity()
remainingCapacity in interface java.util.concurrent.BlockingQueue<E>
public E take()
throws java.lang.InterruptedException
take in interface java.util.concurrent.BlockingQueue<E>java.lang.InterruptedExceptionpublic boolean addAll(java.util.Collection<? extends E> c)
addAll in interface java.util.Collection<E>public void clear()
clear in interface java.util.Collection<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic boolean containsAll(java.util.Collection<?> c)
containsAll in interface java.util.Collection<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic boolean isEmpty()
isEmpty in interface java.util.Collection<E>public boolean removeAll(java.util.Collection<?> c)
removeAll in interface java.util.Collection<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic boolean retainAll(java.util.Collection<?> c)
retainAll in interface java.util.Collection<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic java.lang.Object[] toArray()
toArray in interface java.util.Collection<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic <T> T[] toArray(T[] a)
toArray in interface java.util.Collection<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic E element()
element in interface java.util.Queue<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic E peek()
peek in interface java.util.Queue<E>java.lang.UnsupportedOperationException - - this operation is not supportedpublic E remove()
remove in interface java.util.Queue<E>java.lang.UnsupportedOperationException - - this operation is not supported
|
Apache Tomcat 7.0.22 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||