NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
timer_scheduler< Clock > 模板类 参考

定时任务调度器 更多...

#include <timer.hpp>

Public 类型

using clock_type = Clock
 时钟类型
using time_point = typename clock_type::time_point
 时间点类型
using duration = typename clock_type::duration
 时长类型
using token = size_t
 任务标识符类型
using handler_type = function<void()>
 回调函数类型

Public 成员函数

 timer_scheduler ()
 构造函数,启动调度线程
 ~timer_scheduler ()
 析构函数,停止调度线程并等待其结束
token add_task (time_point expire, handler_type &&handler)
 添加定时任务
bool cancel (token id)
 取消定时任务
void cancel_all ()
 取消所有定时任务
NEFORCE_NODISCARD size_t size () const
 获取当前待处理的任务数量

详细描述

template<typename Clock>
class timer_scheduler< Clock >

定时任务调度器

模板参数
Clock时钟类型

管理所有定时任务的调度和执行。使用独立的线程运行调度循环, 基于时间点对任务进行排序,并在任务到期时执行回调函数。

在文件 timer.hpp41 行定义.

成员函数说明

◆ add_task()

template<typename Clock>
token timer_scheduler< Clock >::add_task ( time_point expire,
handler_type && handler )
inline

添加定时任务

参数
expire任务到期时间点
handler任务回调函数
返回
任务标识符,可用于取消任务

如果新任务的到期时间早于当前最早的任务,会唤醒调度线程。

在文件 timer.hpp172 行定义.

引用了 id() , 以及 move().

◆ cancel()

template<typename Clock>
bool timer_scheduler< Clock >::cancel ( token id)
inline

取消定时任务

参数
id任务标识符
返回
是否成功取消

如果取消的是当前最早的任务,会唤醒调度线程重新计算等待时间。

在文件 timer.hpp198 行定义.

◆ size()

template<typename Clock>
NEFORCE_NODISCARD size_t timer_scheduler< Clock >::size ( ) const
inline

获取当前待处理的任务数量

返回
任务数量

在文件 timer.hpp233 行定义.


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