Java.util.concurrent Queues: Difference between revisions
Jump to navigation
Jump to search
Line 11: | Line 11: | ||
<tt>java.util.concurrent.BlockingQueue<E></tt> is a <tt>java.util.Queue</tt> that has operations that wait for the queue to become non-empty when retrieving an element, and wait for space to become available in the queue when storing an element. When configured with a fixed size (example <tt>[[#ArrayBlockingQueue|ArrayBlockingQueue]]</tt>), it can be used as a memory sprawl control mechanisms, providing memory-safe separation between threads. | <tt>java.util.concurrent.BlockingQueue<E></tt> is a <tt>java.util.Queue</tt> that has operations that wait for the queue to become non-empty when retrieving an element, and wait for space to become available in the queue when storing an element. When configured with a fixed size (example <tt>[[#ArrayBlockingQueue|ArrayBlockingQueue]]</tt>), it can be used as a memory sprawl control mechanisms, providing memory-safe separation between threads. | ||
Insertion Operations: | |||
* | * put() blocks if the queue is full. | ||
* add() throws exception if the queue is full. | |||
* offer() attempts to insert and immediately returns <tt>true</tt> if the insertion was successful or <tt>false</tt> if no space is available. offer() has an overloaded version that waits for a time-out. | |||
Removal Operations: | |||
Inspection Operations: | Inspection Operations: |
Revision as of 17:24, 23 March 2018
Internal
Overview
Blocking Queue
java.util.concurrent.BlockingQueue<E> is a java.util.Queue that has operations that wait for the queue to become non-empty when retrieving an element, and wait for space to become available in the queue when storing an element. When configured with a fixed size (example ArrayBlockingQueue), it can be used as a memory sprawl control mechanisms, providing memory-safe separation between threads.
Insertion Operations:
- put() blocks if the queue is full.
- add() throws exception if the queue is full.
- offer() attempts to insert and immediately returns true if the insertion was successful or false if no space is available. offer() has an overloaded version that waits for a time-out.
Removal Operations:
Inspection Operations:
It has the following implementations: