|
Console Library 8.0.0
A header-only library that makes C++ simple
|
异步任务类,用于在后台线程中执行任务 (共享版)。 More...
#include <task.h>
Public Member Functions | |
| SharedTask () | |
| 默认构造函数。 | |
| template<class F, class... Args, class = typename std::enable_if< is_callable<F, Args...>::value || is_callable<F, const Event &, Args...>::value>::type> | |
| SharedTask (F &&f, Args &&...args) | |
| 构造函数,接受一个可调用对象和参数,启动异步任务。 | |
| SharedTask (const SharedTask &other) | |
| 拷贝构造函数。 | |
| SharedTask & | operator= (const SharedTask &other) |
| 拷贝赋值运算符。 | |
| SharedTask (SharedTask &&other) noexcept | |
| 移动构造函数。 | |
| SharedTask & | operator= (SharedTask &&other) noexcept |
| 移动赋值运算符。 | |
| ~SharedTask ()=default | |
| 析构函数。 | |
| 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 () |
| 取消异步任务。 | |
Static Private Member Functions | |
| static void | thread_deleter (std::thread *t) |
| 线程删除器,用于在 std::shared_ptr 销毁时自动调用。 | |
| static void | event_deleter (Event *e) |
| 事件删除器,用于在 std::shared_ptr 销毁时自动调用。 | |
Private Attributes | |
| std::shared_future< T > | future_ |
| 任务的返回值 | |
| std::shared_ptr< std::thread > | thread_ |
| 任务执行的线程 | |
| std::shared_ptr< Event > | event_ |
| 事件标志 | |
| std::shared_ptr< std::once_flag > | flag_ |
| 取消标志 | |
异步任务类,用于在后台线程中执行任务 (共享版)。
| T | 任务返回值的类型。 |
|
inline |
默认构造函数。
|
inlineexplicit |
构造函数,接受一个可调用对象和参数,启动异步任务。
| F | 可调用对象的类型。 |
| Args | 参数的类型。 |
| f | 可调用对象。 |
| args | 参数。 |
|
inline |
拷贝构造函数。
| other | 要拷贝的 SharedTask 对象。 |
|
inlinenoexcept |
移动构造函数。
| other | 要移动的 Task 对象。 |
|
default |
析构函数。
|
inline |
取消异步任务。
停止线程并设置异常,以表示任务已被取消。
|
inlinestaticprivate |
事件删除器,用于在 std::shared_ptr 销毁时自动调用。
| e | 事件指针。 |
|
inline |
获取异步任务的返回值。
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
启动异步任务。
| F | 要执行的函数类型。 |
| Args | 要传递给函数的参数类型。 |
| f | 要执行的函数。 |
| args | 要传递给函数的参数。 |
|
inline |
获取异步任务的状态。
|
inlinestaticprivate |
线程删除器,用于在 std::shared_ptr 销毁时自动调用。
| t | 线程指针。 |
|
inline |
检查异步任务是否有效。
|
inline |
等待异步任务完成。
|
inline |
等待异步任务完成,最多等待指定时间。
| Rep | 时间单位的类型。 |
| Period | 时间单位的精度。 |
| timeout | 等待的时间。 |
|
inline |
等待异步任务完成,最多等待指定时间。
| seconds | 等待的时间 (秒)。 |
|
inline |
等待异步任务完成,最多等待指定时间。
| timeout | 等待的时间。 |
|
inline |
等待异步任务完成,最多等待指定时间。
| time_point | 等待的时间点。 |
|
private |
事件标志
|
private |
取消标志
|
private |
任务的返回值
|
private |
任务执行的线程