XFusion API v1.3.0
载入中...
搜索中...
未找到
_xf_task_base_t结构体 参考

task 的父对象,保存了 task 的公共属性。 更多...

#include <xf_task_base.h>

_xf_task_base_t 的协作图:
Collaboration graph

成员变量

xf_list_t node
 
xf_task_manager_t manager
 
xf_task_func_t func
 
voidarg
 
uint32_t type: 1
 
uint32_t state: 3
 
uint32_t flag: 9
 
uint32_t signal: 9
 
uint32_t priority: 10
 
uint32_t delay
 
xf_task_time_t wake_up
 
xf_task_time_t suspend_time
 
int32_t timeout
 
const xf_task_vfunc_tvfunc
 
xf_task_delete_t delete
 
xf_list_t hunger_node
 
uint32_t hunger_time
 
voiduser_data
 

详细描述

task 的父对象,保存了 task 的公共属性。

在文件 xf_task_base.h113 行定义.

结构体成员变量说明

◆ node

xf_list_t node

任务节点,挂载在 manager 上

在文件 xf_task_base.h114 行定义.

◆ manager

保存 task 所属的 manager ,以便更快访问 manager

在文件 xf_task_base.h115 行定义.

◆ func

每个任务所执行的内容

在文件 xf_task_base.h116 行定义.

◆ arg

void* arg

任务中用户定义参数

在文件 xf_task_base.h117 行定义.

◆ type

uint32_t type

任务类型,见 xf_task_type_t

在文件 xf_task_base.h118 行定义.

◆ state

uint32_t state

任务状态,见 xf_task_state_t

在文件 xf_task_base.h119 行定义.

◆ flag

uint32_t flag

任务标志位,外部设置的标志位,内部只会读取不会设置

在文件 xf_task_base.h120 行定义.

◆ signal

uint32_t signal

任务间信号,内部传递消息使用,外部无法设置, 见 XF_TASK_SIGNAL_* 宏

在文件 xf_task_base.h121 行定义.

◆ priority

uint32_t priority

任务优先级,具体最大值参考 XF_TASK_PRIORITY_LEVELS

在文件 xf_task_base.h123 行定义.

◆ delay

uint32_t delay

对类型于有上下文是延时时间,对于没有上下文则是定时周期

在文件 xf_task_base.h124 行定义.

◆ wake_up

xf_task_time_t wake_up

唤醒时间,通过延时时间计算而来

在文件 xf_task_base.h125 行定义.

◆ suspend_time

xf_task_time_t suspend_time

挂起时间,挂起期间内的时间不会算入延时时间

在文件 xf_task_base.h126 行定义.

◆ timeout

int32_t timeout

超时时间,正数为超时时间,负数则属于提前唤醒

在文件 xf_task_base.h127 行定义.

◆ vfunc

虚函数指针,由子对象实现具体操作。 虚函数指针是实现不同类型任务统一调度的关键

在文件 xf_task_base.h128 行定义.

◆ delete

虚函数指针,其内容通常为回收任务内存 task pool 中通过替换它实现任务池回收任务

在文件 xf_task_base.h130 行定义.

◆ hunger_node

xf_list_t hunger_node

饥饿节点,挂载在 manager 上的 hunger_list 上, 以便更快速的遍历饥饿任务

在文件 xf_task_base.h134 行定义.

◆ hunger_time

uint32_t hunger_time

任务饥饿度,单位为 ms。超过该时间,任务爬升一个优先级

在文件 xf_task_base.h136 行定义.

◆ user_data

void* user_data

用户传递的参数

在文件 xf_task_base.h140 行定义.


该结构体的文档由以下文件生成: