任务控制器(TaskController.h):
#pragma once
#include "Task.h"
#include "Processor.h"
class Controller{
public:
virtual void actionPerformed(Task* task) =0;
};
class TaskController : public Controller
{
protected:
// 任务处理器
Processor _processor;
public:
// 构造函数
TaskController():{}
// 析构函数
virtual ~TaskController(){
_processor.stop();
}
// 启动控制器
void run()
{
_processor.start();
}
public:
// 添加任务链
void actionPerformed(Task* task)
{
StoreAsync(task);
}
protected:
void StoreAsync( Task* task )
{
if ( task != NULL )
{
_processor.enqueue( task );
}
}
};