#include <Pt/System/Queue.h>
This class implements a thread safe queue. More...
Public Member Functions | |
Queue () | |
Default Constructor. | |
bool | empty () const |
Returns true, if the queue is empty. | |
value_type | get () |
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.
void put | ( | const_reference | element | ) |
This method adds a element to the queue. If the queue has reached his maximum size, the method blocks until there is space available.
void maxSize | ( | size_type | m | ) |
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.