# Uses of Interface
java.util.concurrent.BlockingQueue

Packages that use BlockingQueue
Package
Description
java.util.concurrent
Utility classes commonly useful in concurrent programming.

## Uses of BlockingQueue in java.util.concurrent

Subinterfaces of BlockingQueue in java.util.concurrent
Modifier and Type
Interface
Description
`interface`
`BlockingDeque<E>`
A `Deque` that additionally supports blocking operations that wait for the deque to become non-empty when retrieving an element, and wait for space to become available in the deque when storing an element.
`interface`
`TransferQueue<E>`
A `BlockingQueue` in which producers may wait for consumers to receive elements.
Classes in java.util.concurrent that implement BlockingQueue
Modifier and Type
Class
Description
`class`
`ArrayBlockingQueue<E>`
A bounded blocking queue backed by an array.
`class`
`DelayQueue<E extends Delayed>`
An unbounded blocking queue of `Delayed` elements, in which an element generally becomes eligible for removal when its delay has expired.
`class`
`LinkedBlockingDeque<E>`
An optionally-bounded blocking deque based on linked nodes.
`class`
`LinkedBlockingQueue<E>`
An optionally-bounded blocking queue based on linked nodes.
`class`
`LinkedTransferQueue<E>`
An unbounded `TransferQueue` based on linked nodes.
`class`
`PriorityBlockingQueue<E>`
An unbounded blocking queue that uses the same ordering rules as class `PriorityQueue` and supplies blocking retrieval operations.
`class`
`SynchronousQueue<E>`
A blocking queue in which each insert operation must wait for a corresponding remove operation by another thread, and vice versa.
Methods in java.util.concurrent that return BlockingQueue
Modifier and Type
Method
Description
`BlockingQueue<Runnable>`
ScheduledThreadPoolExecutor.`getQueue()`
Returns the task queue used by this executor.
`BlockingQueue<Runnable>`
ThreadPoolExecutor.`getQueue()`
Returns the task queue used by this executor.
Constructors in java.util.concurrent with parameters of type BlockingQueue
Modifier
Constructor
Description
``
`ExecutorCompletionService(Executor executor, BlockingQueue<Future<V>> completionQueue)`
Creates an ExecutorCompletionService using the supplied executor for base task execution and the supplied queue as its completion queue.
``
`ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue)`
Creates a new `ThreadPoolExecutor` with the given initial parameters, the default thread factory and the default rejected execution handler.
``
`ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)`
Creates a new `ThreadPoolExecutor` with the given initial parameters and the default thread factory.
``
`ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory)`
Creates a new `ThreadPoolExecutor` with the given initial parameters and the default rejected execution handler.
``
`ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)`
Creates a new `ThreadPoolExecutor` with the given initial parameters.