This class implements a thread safe queue. More...
Public Member Functions
|Default Constructor. |
|bool||empty () const|
|Returns true, if the queue is empty. |
|Returns the next element. More...|
|void||maxSize (size_type m)|
|sets the maximum size of the queue. More...|
|size_type||maxSize () const|
|returns the maximum size of the queue. |
|size_type||numWaiting () const|
|returns the number of threads blocked in the get method. |
|void||put (const_reference element)|
|Adds a element to the queue. More...|
|size_type||size () const|
|Returns the number of elements currently in queue. |
A queue is a container where the elements put into the queue are fetched in the same order (first-in-first-out, fifo). The class has a optional maximum size. If the size is set to 0 the queue has no limit. Otherwise putting a element to the queue may block until another thread fetches a element or icreases the limit.
|Queue< T >::value_type get||(||)|
This method returns the next element. If the queue is empty, the thread will be locked until a element is available.
This method adds a element to the queue. If the queue has reached his maximum size, the method blocks until there is space available.
Setting the maximum size of the queue may wake up another thread, if it is waiting for space to get available and the limit is increased.