BlockingQueue
BlockingQueue
is an interface that extends the standard Queue
interface with methods that are suitable to be used by multithread applications. Any implementation of this interface provides methods that allow different threads to put element into the queue, pull elements off the queue, and wait for elements that are in the queue.
When there is a new element that is to be stored in the queue, you can add
it, offer
it, or put
it. These are the name of the methods that store elements and they do the same thing, but a bit differently. The add
element throws an exception if the queue is full and there is no room for the element. The offer
element does not throw exception but returns either true
or false
, based on the success. If it can store the element in the queue, it returns true
. There is also a version of offer
that specifies a timeout. That version of the method waits, and returns only false
if it cannot store the value into the queue during the period. The put
element is the...