XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_task_manager.h 文件参考

任务管理器。 更多...

#include "xf_task_kernel_config.h"
#include "xf_utils.h"
xf_task_manager.h 的引用(Include)关系图:

浏览源代码.

typedef void * xf_task_t
 任务句柄。
 
typedef void * xf_task_manager_t
 任务管理器句柄。
 
typedef void(* xf_task_on_idle_t) (unsigned long int max_idle_ms)
 空闲任务回调函数原型。
 
xf_task_manager_t xf_task_manager_create (xf_task_on_idle_t on_idle)
 创建任务管理器。
 
xf_err_t xf_task_manager_set_idle (xf_task_manager_t manager, xf_task_on_idle_t on_idle)
 设置 manager 的空闲回调函数
 
void xf_task_manager_run (xf_task_manager_t manager)
 开始启动任务管理器调度任务。
 
xf_err_t xf_task_set_urgent_task_with_manager (xf_task_manager_t manager, xf_task_t task, bool force)
 将任务设置为紧急任务,下次调度立即执行。
 
xf_task_t xf_task_manager_get_current_task (xf_task_manager_t manager)
 获取管理器运行的任务。
 
xf_err_t xf_task_manager_task_ready (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为就绪。
 
xf_err_t xf_task_manager_task_suspend (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为挂起。
 
xf_err_t xf_task_manager_task_destory (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为销毁。
 
xf_err_t xf_task_manager_task_blocked (xf_task_manager_t manager, xf_task_t task)
 设置当前任务为阻塞。
 

详细描述

任务管理器。

作者
cangyu (sky.k.nosp@m.irto.nosp@m.@qq.c.nosp@m.om)
版本
0.1
日期
2024-02-29

在文件 xf_task_manager.h 中定义.

类型定义说明

◆ xf_task_t

typedef void* xf_task_t

任务句柄。

在文件 xf_task_manager.h40 行定义.

◆ xf_task_manager_t

typedef void* xf_task_manager_t

任务管理器句柄。

在文件 xf_task_manager.h45 行定义.

◆ xf_task_on_idle_t

typedef void(* xf_task_on_idle_t) (unsigned long int max_idle_ms)

空闲任务回调函数原型。

参数
max_idle_ms空闲(睡眠)时间。

在文件 xf_task_manager.h52 行定义.

函数说明

◆ xf_task_manager_create()

xf_task_manager_t xf_task_manager_create ( xf_task_on_idle_t  on_idle)

创建任务管理器。

参数
on_idle空闲回调函数。
返回
xf_task_manager_t 任务管理器对象

在文件 xf_task_manager.c53 行定义.

◆ xf_task_manager_set_idle()

xf_err_t xf_task_manager_set_idle ( xf_task_manager_t  manager,
xf_task_on_idle_t  on_idle 
)

设置 manager 的空闲回调函数

参数
manager任务管理器对象
on_idle空闲任务函数
返回
xf_err_t
  • XF_OK 设置成功
  • XF_ERR_INVALID_ARG 参数错误

在文件 xf_task_manager.c75 行定义.

◆ xf_task_manager_run()

void xf_task_manager_run ( xf_task_manager_t  manager)

开始启动任务管理器调度任务。

参数
manager任务管理器对象。

在文件 xf_task_manager.c91 行定义.

◆ xf_task_set_urgent_task_with_manager()

xf_err_t xf_task_set_urgent_task_with_manager ( xf_task_manager_t  manager,
xf_task_t  task,
bool  force 
)

将任务设置为紧急任务,下次调度立即执行。

参数
manager任务管理器对象。
task设置为紧急任务的任务。
force如果设置为 true,则覆盖任务。设置为 false,当前有紧急任务则设置失败。
返回
xf_err_t
  • XF_OK 设置成功
  • XF_ERR_INVALID_ARG 无效参数
  • XF_ERR_BUSY 设置失败,force == false 且当前已存在紧急任务

在文件 xf_task_manager.c277 行定义.

◆ xf_task_manager_get_current_task()

xf_task_t xf_task_manager_get_current_task ( xf_task_manager_t  manager)

获取管理器运行的任务。

参数
manager任务管理器对象。
返回
xf_task_t 正在运行的任务对象,返回 NULL 则表示获取失败

在文件 xf_task_manager.c195 行定义.

◆ xf_task_manager_task_ready()

xf_err_t xf_task_manager_task_ready ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为就绪。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务就绪成功

在文件 xf_task_manager.c204 行定义.

◆ xf_task_manager_task_suspend()

xf_err_t xf_task_manager_task_suspend ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为挂起。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务挂起成功

在文件 xf_task_manager.c220 行定义.

◆ xf_task_manager_task_destory()

xf_err_t xf_task_manager_task_destory ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为销毁。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务销毁成功

在文件 xf_task_manager.c236 行定义.

◆ xf_task_manager_task_blocked()

xf_err_t xf_task_manager_task_blocked ( xf_task_manager_t  manager,
xf_task_t  task 
)

设置当前任务为阻塞。

参数
manager任务管理器对象。
task任务对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置任务阻塞成功

在文件 xf_task_manager.c252 行定义.