|
Console Library 8.0.0
A header-only library that makes C++ simple
|
异步任务类,用于在后台线程中执行任务。 More...
#include <task.h>
Public Member Functions | |
| Task ()=default | |
| 默认构造函数。 | |
| template<class F, class... Args> | |
| Task (F &&f, Args &&...args) | |
| 构造函数,接受一个可调用对象和参数,启动异步任务。 | |
| Task (const Task &)=delete | |
| 删除拷贝构造函数。 | |
| Task & | operator= (const Task &)=delete |
| 删除拷贝赋值运算符。 | |
| Task (Task &&other) noexcept | |
| 移动构造函数。 | |
| Task & | operator= (Task &&other) noexcept |
| 移动赋值运算符。 | |
| ~Task () | |
| 析构函数。 | |
| template<class F, class... Args> | |
| std::enable_if<!is_callable< F, constEvent &, Args... >::value >::type | start (F &&f, Args &&...args) |
| 启动异步任务。 | |
| template<class F, class... Args> | |
| std::enable_if< is_callable< F, constEvent &, Args... >::value >::type | start (F &&f, Args &&...args) |
| T | get () |
| 获取异步任务的返回值。 | |
| bool | valid () |
| 检查异步任务是否有效。 | |
| void | wait () const |
| 等待异步任务完成。 | |
| template<class Rep, class Period> | |
| std::future_status | wait_for (const std::chrono::duration< Rep, Period > &timeout) const |
| 等待异步任务完成,最多等待指定时间。 | |
| std::future_status | wait_for (Time timeout) const |
| 等待异步任务完成,最多等待指定时间。 | |
| std::future_status | wait_for (double seconds) const |
| 等待异步任务完成,最多等待指定时间。 | |
| template<class Clock, class Duration> | |
| std::future_status | wait_until (const std::chrono::time_point< Clock, Duration > &time_point) const |
| 等待异步任务完成,最多等待指定时间。 | |
| std::future_status | status () const |
| 获取异步任务的状态。 | |
| void | cancel () |
| 取消异步任务。 | |
Private Attributes | |
| std::future< T > | future_ |
| 任务的返回值 | |
| std::thread | thread_ |
| 任务执行的线程 | |
| std::unique_ptr< Event > | event_ |
| 事件标志 | |
异步任务类,用于在后台线程中执行任务。
| T | 任务返回值的类型。 |
|
default |
默认构造函数。
|
inlineexplicit |
构造函数,接受一个可调用对象和参数,启动异步任务。
| F | 可调用对象的类型。 |
| Args | 参数的类型。 |
| f | 可调用对象。 |
| args | 参数。 |
|
delete |
删除拷贝构造函数。
|
inlinenoexcept |
移动构造函数。
| other | 要移动的 Task 对象。 |
|
inline |
析构函数。
|
inline |
取消异步任务。
停止线程并设置异常,以表示任务已被取消。
|
inline |
获取异步任务的返回值。
|
delete |
删除拷贝赋值运算符。
|
inlinenoexcept |
|
inline |
|
inline |
启动异步任务。
| F | 要执行的函数类型。 |
| Args | 要传递给函数的参数类型。 |
| f | 要执行的函数。 |
| args | 要传递给函数的参数。 |
|
inline |
获取异步任务的状态。
|
inline |
检查异步任务是否有效。
|
inline |
等待异步任务完成。
|
inline |
等待异步任务完成,最多等待指定时间。
| Rep | 时间单位的类型。 |
| Period | 时间单位的精度。 |
| timeout | 等待的时间。 |
|
inline |
等待异步任务完成,最多等待指定时间。
| seconds | 等待的时间 (秒)。 |
|
inline |
等待异步任务完成,最多等待指定时间。
| timeout | 等待的时间。 |
|
inline |
等待异步任务完成,最多等待指定时间。
| time_point | 等待的时间点。 |
|
private |
事件标志
|
private |
任务的返回值
|
private |
任务执行的线程