Skip to content
QY Li edited this page Mar 27, 2024 · 4 revisions

ThreadPool::TaskStatus

任务状态枚举。

enum TaskStatus
{
	READY,
	RUNNING,
	FINISHED
};

值

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

ThreadPool::TaskBase

任务基类。

GetTaskStatus

获取任务状态。

TaskStatus GetTaskStatus() const;

返回值

当前任务的状态

备注

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

SetTaskStatus

设置任务状态。

void SetTaskStatus(TaskStatus status);

参数

status 任务状态

备注

请勿直接调用此函数,任务状态由线程池维护。当您觉得任务已经完成时,可以调用并传入 ThreadPool::TaskStatus::FINISHED 参数。

ThreadPool::TaskBase 构造函数

ThreadPool::TaskBase 的构造函数。

TaskBase();

备注

请勿直接调用此构造函数,任务由线程池创建。

ThreadPool::Task

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

`GetResult'

获取任务执行结果。

template<class RetType>
RetType GetResult();

void GetResult();

返回值

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

异常

std::runtime_error("Task is not running yet.") 任务还未开始执行
std::runtime_error("Task is running.") 任务正在执行

备注

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

Clone this wiki locally