dl
dl::MultiThreadTask< T > 模板类 参考

多线程任务 更多...

#include <dl_thread_task.h>

Public 类型

using FnDoTask = std::function<void(T&)>
 

Public 成员函数

void Init (FnDoTask fn_do_task, size_t thread_num=(size_t) std::thread::hardware_concurrency())
 
void AddTask (const T &task)
 添加任务
 
void ClearTask ()
 清除所有任务
 
size_t GetTaskNum ()
 返回剩余任务数量
 
void Wait ()
 等待任务完成(添加完成后再调用)
 
void SetQueueMode (QueueMode mode)
 
 MultiThreadTask ()
 
 ~MultiThreadTask ()
 

详细描述

template<typename T>
class dl::MultiThreadTask< T >

多线程任务

在文件 dl_thread_task.h24 行定义.

成员类型定义说明

◆ FnDoTask

template<typename T>
using dl::MultiThreadTask< T >::FnDoTask = std::function<void(T&)>

在文件 dl_thread_task.h28 行定义.

构造及析构函数说明

◆ MultiThreadTask()

template<typename T>
dl::MultiThreadTask< T >::MultiThreadTask ( )
inline

在文件 dl_thread_task.h88 行定义.

◆ ~MultiThreadTask()

template<typename T>
dl::MultiThreadTask< T >::~MultiThreadTask ( )
inline

在文件 dl_thread_task.h94 行定义.

成员函数说明

◆ AddTask()

template<typename T>
void dl::MultiThreadTask< T >::AddTask ( const T & task)
inline

添加任务

在文件 dl_thread_task.h47 行定义.

◆ ClearTask()

template<typename T>
void dl::MultiThreadTask< T >::ClearTask ( )
inline

清除所有任务

在文件 dl_thread_task.h55 行定义.

◆ GetTaskNum()

template<typename T>
size_t dl::MultiThreadTask< T >::GetTaskNum ( )
inline

返回剩余任务数量

在文件 dl_thread_task.h64 行定义.

◆ Init()

template<typename T>
void dl::MultiThreadTask< T >::Init ( FnDoTask fn_do_task,
size_t thread_num = (size_t)std::thread::hardware_concurrency() )
inline

在文件 dl_thread_task.h30 行定义.

◆ SetQueueMode()

template<typename T>
void dl::MultiThreadTask< T >::SetQueueMode ( QueueMode mode)
inline

在文件 dl_thread_task.h83 行定义.

◆ Wait()

template<typename T>
void dl::MultiThreadTask< T >::Wait ( )
inline

等待任务完成(添加完成后再调用)

注解
直接析构会完成最近的一次任务,剩下的任务不会执行

在文件 dl_thread_task.h72 行定义.


该类的文档由以下文件生成: