Open Lighting Architecture
0.9.2
|
A thread which waits on a queue, and when actions (callbacks) become available, it pulls them from the queue and executes them.
Public Types | |
typedef BaseCallback0< void > * | Action |
Public Member Functions | |
ConsumerThread (std::queue< Action > *callback_queue, const bool *shutdown, Mutex *mutex, ConditionVariable *condition_var) | |
void * | Run () |
Public Member Functions inherited from ola::thread::Thread | |
virtual bool | Start () |
virtual bool | FastStart () |
virtual bool | Join (void *ptr=NULL) |
bool | IsRunning () |
ThreadId | Id () const |
void * | _InternalRun () |
Additional Inherited Members | |
Static Public Member Functions inherited from ola::thread::Thread | |
static ThreadId | Self () |
|
inline |
callback_queue | the queue to pull actions from |
shutdown | a bool which is set to true if this thread is to finish. |
mutex | the Mutex object which protects the queue and shutdown variable. |
condition_var | the ConditionVariable to wait on. This signals when the queue is non-empty, or shutdown changes to true. |
|
virtual |
The run method, this loops, executing actions, until we're told to terminate.
Implements ola::thread::Thread.