Task queue with a thread pool.
More...
#include <tkrzw_thread_util.h>
Task queue with a thread pool.
◆ TaskLambdaType
Lambda function type to do a task.
◆ TaskQueue()
tkrzw::TaskQueue::TaskQueue |
( |
| ) |
|
◆ ~TaskQueue()
tkrzw::TaskQueue::~TaskQueue |
( |
| ) |
|
◆ Start()
void tkrzw::TaskQueue::Start |
( |
int32_t |
num_worker_threads | ) |
|
Starts worker threads.
- Parameters
-
num_worker_threads | The number of worker threads. |
◆ Stop()
void tkrzw::TaskQueue::Stop |
( |
double |
timeout | ) |
|
Stops worker threads.
- Parameters
-
timeout | The timeout in seconds to wait for all tasks in the queue to be done. |
◆ Add() [1/2]
void tkrzw::TaskQueue::Add |
( |
std::unique_ptr< Task > |
task | ) |
|
Adds a task to the queue.
- Parameters
-
◆ Add() [2/2]
Adds a task to the queue.
- Parameters
-
task | The lambda function to do the task. |
◆ GetSize()
int32_t tkrzw::TaskQueue::GetSize |
( |
| ) |
|
Get the number of tasks in the queue.
- Returns
- The number of tasks in the queue.