acl  3.5.3.0
acl::thread_trigger< T > 模板类 参考

#include <trigger.hpp>

+ 类 acl::thread_trigger< T > 继承关系图:
+ acl::thread_trigger< T > 的协作图:

Public 成员函数

 thread_trigger (void)
 
virtual ~thread_trigger (void)
 
void add (T *o)
 
void del (T *o)
 
timer_trigger< T > & get_trigger (void)
 
- Public 成员函数 继承自 acl::acl::thread
 thread (void)
 
virtual ~thread (void)
 
bool start (bool sync=false)
 
bool wait (void **out=NULL)
 
threadset_detachable (bool yes)
 
threadset_stacksize (size_t size)
 
unsigned long thread_id (void) const
 
- Public 成员函数 继承自 acl::acl::thread_job
 thread_job (void)
 
virtual ~thread_job (void)
 
virtual void init (void)
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 acl::acl::thread
static unsigned long thread_self (void)
 
static unsigned long self (void)
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

template<typename T>
class acl::thread_trigger< T >

定时器管理线程,该线程从 mbox 中获得定时任务,并加入定时任务触发器中,然后 定时从触发器中提取到期的任务并触发

在文件 trigger.hpp229 行定义.

构造及析构函数说明

◆ thread_trigger()

template<typename T >
acl::thread_trigger< T >::thread_trigger ( void  )
inline

在文件 trigger.hpp232 行定义.

233  : delay_(100) // 初始化时的超时等待时间(毫秒)
234  , stop_(false) // 是否停止线程
235  {
236  }

◆ ~thread_trigger()

template<typename T >
virtual acl::thread_trigger< T >::~thread_trigger ( void  )
inlinevirtual

在文件 trigger.hpp238 行定义.

238 {}

成员函数说明

◆ add()

template<typename T >
void acl::thread_trigger< T >::add ( T *  o)
inline

添加一个定时任务对象 @pararm o {T*}

在文件 trigger.hpp244 行定义.

245  {
246  mbox_.push(o);
247  }

◆ del()

template<typename T >
void acl::thread_trigger< T >::del ( T *  o)
inline

添加要删除的定时任务对象到临时队列中,然后从定时器中删除之 @pararm o {T*}

在文件 trigger.hpp253 行定义.

254  {
255  lock_.lock();
256  timer_del_.push_back(o);
257  lock_.unlock();
258  }
bool unlock(void)

引用了 acl::thread_mutex::lock() , 以及 acl::thread_mutex::unlock().

+ 函数调用图:

◆ get_trigger()

template<typename T >
timer_trigger<T>& acl::thread_trigger< T >::get_trigger ( void  )
inline

在文件 trigger.hpp260 行定义.

261  {
262  return timer_;
263  }

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