Thread pool for worker threads. More...
#include <work_queue.h>
Public Member Functions | |
WorkQueue (bool serial_queue=false) | |
Constructs a work queue. | |
~WorkQueue () | |
int | get_items_queued () const |
Returns the number of items currently queued. | |
void | process_work_completed () |
Process work completed queue. | |
void | queue (const std::function< void()> &func) |
Queue some work to be executed on a worker thread. | |
void | queue (WorkItem *item) |
Queue some work to be executed on a worker thread. | |
void | work_completed (const std::function< void()> &func) |
Queue some work to be executed on the main WorkQueue thread. | |
Thread pool for worker threads.
clan::WorkQueue::WorkQueue | ( | bool | serial_queue = false | ) |
Constructs a work queue.
serial_queue | If true, executes items in the order they are queued, one at a time |
clan::WorkQueue::~WorkQueue | ( | ) |
int clan::WorkQueue::get_items_queued | ( | ) | const |
Returns the number of items currently queued.
void clan::WorkQueue::process_work_completed | ( | ) |
Process work completed queue.
Needs to be called on the main WorkQueue thread periodically to finish queued work
void clan::WorkQueue::queue | ( | const std::function< void()> & | func | ) |
Queue some work to be executed on a worker thread.
void clan::WorkQueue::queue | ( | WorkItem * | item | ) |
Queue some work to be executed on a worker thread.
Transfers ownership of the item queued. WorkQueue will delete the item.
void clan::WorkQueue::work_completed | ( | const std::function< void()> & | func | ) |
Queue some work to be executed on the main WorkQueue thread.