给外部可以获取任务的能力 只返回符合要求的信息
This commit is contained in:
parent
6bd8a39236
commit
eee1f14e3a
|
@ -196,6 +196,38 @@ void TaskScheduler::Set(Task* tasks, uint count)
|
|||
}
|
||||
}
|
||||
|
||||
uint TaskScheduler::FindID(Action func)
|
||||
{
|
||||
if (!func) return 0;
|
||||
uint id = 0;
|
||||
for (int i = 0; i < _Tasks.Count(); i++)
|
||||
{
|
||||
auto task = (Task*)_Tasks[i];
|
||||
if (task->Callback == func)
|
||||
{
|
||||
id = task->ID ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
Task* TaskScheduler::FindTask(Action func)
|
||||
{
|
||||
if (!func) return nullptr;
|
||||
Task* ret = nullptr;
|
||||
for (int i = 0; i < _Tasks.Count(); i++)
|
||||
{
|
||||
auto task = (Task*)_Tasks[i];
|
||||
if (task->Callback == func)
|
||||
{
|
||||
ret = task;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
// 创建任务,返回任务编号。dueTime首次调度时间ms,-1表示事件型任务,period调度间隔ms,-1表示仅处理一次
|
||||
uint TaskScheduler::Add(Action func, void* param, int dueTime, int period, cstring name)
|
||||
{
|
||||
|
|
|
@ -77,7 +77,10 @@ public:
|
|||
|
||||
// 使用外部缓冲区初始化任务列表,避免频繁的堆分配
|
||||
void Set(Task* tasks, uint count);
|
||||
|
||||
// 查找任务 返回使用此函数的首个任务的ID
|
||||
uint FindID(Action func);
|
||||
// 查找任务 返回使用此函数的首个任务
|
||||
Task* FindTask(Action func);
|
||||
// 创建任务,返回任务编号。dueTime首次调度时间ms,-1表示事件型任务,period调度间隔ms,-1表示仅处理一次
|
||||
uint Add(Action func, void* param, int dueTime = 0, int period = 0, cstring name = nullptr);
|
||||
template<typename T>
|
||||
|
|
Loading…
Reference in New Issue