Modifier and Type | Method and Description |
---|---|
static <E> int |
drain(java.util.concurrent.BlockingQueue<E> q,
java.util.Collection<? super E> buffer,
int numElements,
long timeout,
java.util.concurrent.TimeUnit unit)
Drains the queue as
BlockingQueue.drainTo(Collection, int) , but if the requested
numElements elements are not available, it will wait for them up to the specified
timeout. |
static <E> int |
drainUninterruptibly(java.util.concurrent.BlockingQueue<E> q,
java.util.Collection<? super E> buffer,
int numElements,
long timeout,
java.util.concurrent.TimeUnit unit)
Drains the queue as drain(BlockingQueue, Collection, int, long, TimeUnit),
but with a different behavior in case it is interrupted while waiting.
|
static <E> java.util.concurrent.ArrayBlockingQueue<E> |
newArrayBlockingQueue(int capacity)
Creates an empty
ArrayBlockingQueue instance. |
static <E> java.util.concurrent.ConcurrentLinkedQueue<E> |
newConcurrentLinkedQueue()
Creates an empty
ConcurrentLinkedQueue instance. |
static <E> java.util.concurrent.ConcurrentLinkedQueue<E> |
newConcurrentLinkedQueue(java.lang.Iterable<? extends E> elements)
Creates an
ConcurrentLinkedQueue instance containing the given elements. |
static <E> java.util.concurrent.LinkedBlockingQueue<E> |
newLinkedBlockingQueue()
Creates an empty
LinkedBlockingQueue instance. |
static <E> java.util.concurrent.LinkedBlockingQueue<E> |
newLinkedBlockingQueue(int capacity)
Creates a
LinkedBlockingQueue with the given (fixed) capacity. |
static <E> java.util.concurrent.LinkedBlockingQueue<E> |
newLinkedBlockingQueue(java.lang.Iterable<? extends E> elements)
Creates an
LinkedBlockingQueue instance containing the given elements. |
static <E> java.util.concurrent.PriorityBlockingQueue<E> |
newPriorityBlockingQueue()
Creates an empty
PriorityBlockingQueue instance. |
static <E> java.util.concurrent.PriorityBlockingQueue<E> |
newPriorityBlockingQueue(java.lang.Iterable<? extends E> elements)
Creates an
PriorityBlockingQueue instance containing the given elements. |
static <E> java.util.PriorityQueue<E> |
newPriorityQueue()
Creates an empty
PriorityQueue instance. |
static <E> java.util.PriorityQueue<E> |
newPriorityQueue(java.lang.Iterable<? extends E> elements)
Creates an
PriorityQueue instance containing the given elements. |
static <E> java.util.concurrent.SynchronousQueue<E> |
newSynchronousQueue()
Creates an empty
SynchronousQueue instance. |
public static <E> java.util.concurrent.ArrayBlockingQueue<E> newArrayBlockingQueue(int capacity)
ArrayBlockingQueue
instance.ArrayBlockingQueue
public static <E> java.util.concurrent.ConcurrentLinkedQueue<E> newConcurrentLinkedQueue()
ConcurrentLinkedQueue
instance.ConcurrentLinkedQueue
public static <E> java.util.concurrent.ConcurrentLinkedQueue<E> newConcurrentLinkedQueue(java.lang.Iterable<? extends E> elements)
ConcurrentLinkedQueue
instance containing the given elements.elements
- the elements that the queue should contain, in orderConcurrentLinkedQueue
containing those elementspublic static <E> java.util.concurrent.LinkedBlockingQueue<E> newLinkedBlockingQueue()
LinkedBlockingQueue
instance.LinkedBlockingQueue
public static <E> java.util.concurrent.LinkedBlockingQueue<E> newLinkedBlockingQueue(int capacity)
LinkedBlockingQueue
with the given (fixed) capacity.capacity
- the capacity of this queueLinkedBlockingQueue
java.lang.IllegalArgumentException
- if capacity
is less than 1public static <E> java.util.concurrent.LinkedBlockingQueue<E> newLinkedBlockingQueue(java.lang.Iterable<? extends E> elements)
LinkedBlockingQueue
instance containing the given elements.elements
- the elements that the queue should contain, in orderLinkedBlockingQueue
containing those elementspublic static <E> java.util.concurrent.PriorityBlockingQueue<E> newPriorityBlockingQueue()
PriorityBlockingQueue
instance.PriorityBlockingQueue
public static <E> java.util.concurrent.PriorityBlockingQueue<E> newPriorityBlockingQueue(java.lang.Iterable<? extends E> elements)
PriorityBlockingQueue
instance containing the given elements.elements
- the elements that the queue should contain, in orderPriorityBlockingQueue
containing those elementspublic static <E> java.util.PriorityQueue<E> newPriorityQueue()
PriorityQueue
instance.PriorityQueue
public static <E> java.util.PriorityQueue<E> newPriorityQueue(java.lang.Iterable<? extends E> elements)
PriorityQueue
instance containing the given elements.elements
- the elements that the queue should contain, in orderPriorityQueue
containing those elementspublic static <E> java.util.concurrent.SynchronousQueue<E> newSynchronousQueue()
SynchronousQueue
instance.SynchronousQueue
public static <E> int drain(java.util.concurrent.BlockingQueue<E> q, java.util.Collection<? super E> buffer, int numElements, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
BlockingQueue.drainTo(Collection, int)
, but if the requested
numElements
elements are not available, it will wait for them up to the specified
timeout.q
- the blocking queue to be drainedbuffer
- where to add the transferred elementsnumElements
- the number of elements to be waited fortimeout
- how long to wait before giving up, in units of unit
unit
- a TimeUnit
determining how to interpret the timeout parameterjava.lang.InterruptedException
- if interrupted while waitingpublic static <E> int drainUninterruptibly(java.util.concurrent.BlockingQueue<E> q, java.util.Collection<? super E> buffer, int numElements, long timeout, java.util.concurrent.TimeUnit unit)
InterruptedException
is thrown).q
- the blocking queue to be drainedbuffer
- where to add the transferred elementsnumElements
- the number of elements to be waited fortimeout
- how long to wait before giving up, in units of unit
unit
- a TimeUnit
determining how to interpret the timeout parameter