Task queue device.  
 More...
#include <kcthread.h>
List of all members.
| 
Classes | 
| class | Task | 
|  | Interface of a task.  More... 
 | 
| class | WorkerThread | 
|  | Implementation of the worker thread. 
 | 
| 
Public Member Functions | 
|  | TaskQueue () | 
|  | Default Constructor. 
 | 
| virtual | ~TaskQueue () | 
|  | Destructor. 
 | 
| virtual void | do_task (Task *task)=0 | 
|  | Process a task. 
 | 
| virtual void | do_start (const Task *task) | 
|  | Process the starting event. 
 | 
| virtual void | do_finish (const Task *task) | 
|  | Process the finishing event. 
 | 
| void | start (size_t thnum) | 
|  | Start the task queue. 
 | 
| void | finish () | 
|  | Finish the task queue. 
 | 
| int64_t | add_task (Task *task) | 
|  | Add a task. 
 | 
| int64_t | count () | 
|  | Get the number of tasks in the queue. 
 | 
Detailed Description
Constructor & Destructor Documentation
Member Function Documentation
Process a task. 
- Parameters:
- 
  
  
 
 
Process the starting event. 
- Parameters:
- 
  
  
- Note:
- This is called for each thread on starting. 
 
 
Process the finishing event. 
- Parameters:
- 
  
  
- Note:
- This is called for each thread on finishing. 
 
 
Start the task queue. 
- Parameters:
- 
  
    | thnum | the number of worker threads. |  
 
 
 
Finish the task queue. 
- Note:
- This function blocks until all tasks in the queue are popped. 
 
 
Add a task. 
- Parameters:
- 
  
  
- Returns:
- the number of tasks in the queue. 
 
 
Get the number of tasks in the queue. 
- Returns:
- the number of tasks in the queue.