fastdo  0.6.8
winux::Task< _Ty > 模板类 参考

代表投递到线程池的一个任务,用于等待执行完毕获取返回值或者接着投递下一个任务 更多...

#include <threadtask.hpp>

Public 类型

using ReturnType = _Ty
 

Public 成员函数

template<typename _Fx , typename... _ArgType>
 Task (ThreadPool *pool, _Fx fnRoutine, _ArgType &&...argRoutine)
 Ctor1 创建一个起始任务,需要提供一个线程池 更多...
 
template<typename _Fx , typename... _ArgType>
 Task (SharedPointer< TaskCtxT< void > > prevTaskCtx, _Fx fnRoutine, _ArgType &&...argRoutine)
 Ctor2-1 给一个任务创建一个后续任务 更多...
 
template<typename _Fx , typename... _ArgType>
 Task (SharedPointer< TaskCtxT< void > > prevTaskCtx, _Fx fnRoutine, typename FuncTraits< _Fx >::ClassType *obj, _ArgType &&...argRoutine)
 Ctor2-2 给一个任务创建一个后续任务 - 类方法执行 更多...
 
template<typename _Ty2 , typename _Fx , typename... _ArgType>
 Task (SharedPointer< TaskCtxT< _Ty2 > > prevTaskCtx, _Fx fnRoutine, _ArgType &&...argRoutine)
 Ctor3-1 给一个任务创建一个后续任务,并把上一个任务返回值移动给后续任务 更多...
 
template<typename _Ty2 , typename _Fx , typename... _ArgType>
 Task (SharedPointer< TaskCtxT< _Ty2 > > prevTaskCtx, _Fx fnRoutine, typename FuncTraits< _Fx >::ClassType *obj, _ArgType &&...argRoutine)
 Ctor3-2 给一个任务创建一个后续任务,并把上一个任务返回值移动给后续任务 - 类方法执行 更多...
 
virtual ~Task ()
 
template<typename _Fx , typename... _ArgType>
Task< typename FuncTraits< _Fx >::ReturnTypethen (_Fx fn, _ArgType &&...arg)
 创建一个后续任务 更多...
 
Taskpost ()
 任务必须投递,否则不会被执行 更多...
 
void wait (double sec=-1)
 等待任务执行完毕 更多...
 
ReturnType get ()
 等待任务结束并获取返回值 更多...
 

友元

template<typename _Ty0 >
class Task
 

详细描述

template<typename _Ty>
class winux::Task< _Ty >

代表投递到线程池的一个任务,用于等待执行完毕获取返回值或者接着投递下一个任务

在文件 threadtask.hpp10 行定义.

成员类型定义说明

template<typename _Ty>
using winux::Task< _Ty >::ReturnType = _Ty

在文件 threadtask.hpp321 行定义.

构造及析构函数说明

template<typename _Ty>
template<typename _Fx , typename... _ArgType>
winux::Task< _Ty >::Task ( ThreadPool pool,
_Fx  fnRoutine,
_ArgType &&...  argRoutine 
)
inline

Ctor1 创建一个起始任务,需要提供一个线程池

在文件 threadtask.hpp325 行定义.

函数调用图:

template<typename _Ty>
template<typename _Fx , typename... _ArgType>
winux::Task< _Ty >::Task ( SharedPointer< TaskCtxT< void > >  prevTaskCtx,
_Fx  fnRoutine,
_ArgType &&...  argRoutine 
)
inline

Ctor2-1 给一个任务创建一个后续任务

在文件 threadtask.hpp347 行定义.

函数调用图:

template<typename _Ty>
template<typename _Fx , typename... _ArgType>
winux::Task< _Ty >::Task ( SharedPointer< TaskCtxT< void > >  prevTaskCtx,
_Fx  fnRoutine,
typename FuncTraits< _Fx >::ClassType *  obj,
_ArgType &&...  argRoutine 
)
inline

Ctor2-2 给一个任务创建一个后续任务 - 类方法执行

在文件 threadtask.hpp374 行定义.

函数调用图:

template<typename _Ty>
template<typename _Ty2 , typename _Fx , typename... _ArgType>
winux::Task< _Ty >::Task ( SharedPointer< TaskCtxT< _Ty2 > >  prevTaskCtx,
_Fx  fnRoutine,
_ArgType &&...  argRoutine 
)
inline

Ctor3-1 给一个任务创建一个后续任务,并把上一个任务返回值移动给后续任务

在文件 threadtask.hpp401 行定义.

函数调用图:

template<typename _Ty>
template<typename _Ty2 , typename _Fx , typename... _ArgType>
winux::Task< _Ty >::Task ( SharedPointer< TaskCtxT< _Ty2 > >  prevTaskCtx,
_Fx  fnRoutine,
typename FuncTraits< _Fx >::ClassType *  obj,
_ArgType &&...  argRoutine 
)
inline

Ctor3-2 给一个任务创建一个后续任务,并把上一个任务返回值移动给后续任务 - 类方法执行

在文件 threadtask.hpp429 行定义.

函数调用图:

template<typename _Ty>
virtual winux::Task< _Ty >::~Task ( )
inlinevirtual

在文件 threadtask.hpp455 行定义.

成员函数说明

template<typename _Ty>
ReturnType winux::Task< _Ty >::get ( )
inline

等待任务结束并获取返回值

在文件 threadtask.hpp512 行定义.

template<typename _Ty>
Task& winux::Task< _Ty >::post ( )
inline

任务必须投递,否则不会被执行

在文件 threadtask.hpp467 行定义.

函数调用图:

template<typename _Ty>
template<typename _Fx , typename... _ArgType>
Task<typename FuncTraits<_Fx>::ReturnType> winux::Task< _Ty >::then ( _Fx  fn,
_ArgType &&...  arg 
)
inline

创建一个后续任务

在文件 threadtask.hpp461 行定义.

template<typename _Ty>
void winux::Task< _Ty >::wait ( double  sec = -1)
inline

等待任务执行完毕

在文件 threadtask.hpp506 行定义.

友元及相关函数文档

template<typename _Ty>
template<typename _Ty0 >
friend class Task
friend

在文件 threadtask.hpp521 行定义.


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