public class MultiLockFairBlockingQueue<E>
extends java.lang.Object
implements java.util.concurrent.BlockingQueue<E>
BlockingQueue
are implemented.Modifier and Type | Class and Description |
---|---|
protected class |
MultiLockFairBlockingQueue.ExchangeCountDownLatch<T> |
protected class |
MultiLockFairBlockingQueue.FairIterator |
protected class |
MultiLockFairBlockingQueue.ItemFuture<T> |
Constructor and Description |
---|
MultiLockFairBlockingQueue()
Creates a new fair blocking queue.
|
Modifier and Type | Method and Description |
---|---|
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() |
int |
getNextPoll() |
int |
getNextPut() |
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() |
<T> T[] |
toArray(T[] a) |
public MultiLockFairBlockingQueue()
public int getNextPut()
public int getNextPoll()
public boolean offer(E 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.InterruptedException
public java.util.concurrent.Future<E> pollAsync()
public boolean remove(java.lang.Object e)
public int size()
size
in interface java.util.Collection<E>
public java.util.Iterator<E> iterator()
public boolean contains(java.lang.Object e)
public boolean add(E 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 supportedpublic void put(E e) throws java.lang.InterruptedException
put
in interface java.util.concurrent.BlockingQueue<E>
java.lang.InterruptedException
public 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.InterruptedException
public 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 supportedCopyright © 2000-2018 Apache Software Foundation. All Rights Reserved.