Skip to content
QY Li edited this page Apr 1, 2024 · 4 revisions

ThreadPool::TaskStatus

任务状态枚举。

enum TaskStatus
{
	READY,
	RUNNING,
	FINISHED
};

返回值

READY 任务已经准备好,等待线程池调度执行
RUNNING 任务正在执行
FINISHED 任务已经执行完毕

ThreadPool::TaskBase

任务基类。

GetTaskStatus

获取任务状态。

TaskStatus GetTaskStatus() const;

返回值

当前任务的状态

备注

返回值参考返回值参考 ThreadPool::TaskStatus。

ThreadPool::Task

任务类,继承自 ThreadPool::TaskBase。

GetTaskStatus

获取任务状态。

TaskStatus GetTaskStatus() const override;

返回值

当前任务的状态

备注

返回值参考返回值参考 ThreadPool::TaskStatus。
可能由 std::future<T>::valid 抛出异常。

`GetResult'

获取任务执行结果。

template<class RetType>
RetType GetResult();

void GetResult();

返回值

任务执行结果。当任务无返回值时,返回值为 void

备注

void GetResult(); 为 RetType GetResult(); 的特化版本,用于无返回值的任务。
可能由 std::future<T>::valid 抛出异常。
在任务执行完毕之前调用此函数会进入阻塞,推荐先调用 ThreadPool::TaskBase::GetTaskStatus 函数检查任务状态,当任务状态为 ThreadPool::TaskStatus::FINISHED 时再调用此函数。

Clone this wiki locally