任务队列

结构体

struct  aos_workqueue_t
 

类型定义

typedef aos_hdl_t aos_work_t
 

函数

aos_status_t aos_workqueue_create (aos_workqueue_t *workqueue, const char *name, int32_t prio, void *stack_buffer, size_t stack_size)
 
void aos_workqueue_del (aos_workqueue_t *workqueue)
 
aos_status_t aos_work_init (aos_work_t *work, void(*fn)(void *), void *arg, int dly)
 
void aos_work_destroy (aos_work_t *work)
 
aos_status_t aos_work_run (aos_workqueue_t *workqueue, aos_work_t *work)
 
aos_status_t aos_work_sched (aos_work_t *work)
 
aos_status_t aos_work_cancel (aos_work_t *work)
 

详细描述

提供AliOS Things系统内核任务队列功能的基础API.

类型定义说明

◆ aos_work_t

AOS任务队列中任务的对象句柄类型

在文件 kernel.h165 行定义.

函数说明

◆ aos_work_cancel()

aos_status_t aos_work_cancel ( aos_work_t work)

取消默认任务队列中的一个任务.

参数
[in]work待取消的任务.
返回
0: 成功, 其他: 失败.

◆ aos_work_destroy()

void aos_work_destroy ( aos_work_t work)

销毁一个任务队列中的任务.

参数
[in]work待销毁的任务(针对任务队列).
返回
none.

◆ aos_work_init()

aos_status_t aos_work_init ( aos_work_t work,
void(*)(void *)  fn,
void *  arg,
int  dly 
)

初始化一个预在任务队列中执行的任务.

参数
[in]work已初始化的任务(针对任务队列).
[in]fn任务执行函数.
[in]arg任务执行函数的参数.
[in]dly运行前延迟毫秒数.
返回
0: 成功, 其他: 失败.

◆ aos_work_run()

aos_status_t aos_work_run ( aos_workqueue_t workqueue,
aos_work_t work 
)

将任务添加到任务队列中运行.

参数
[in]workqueue执行目标任务的任务队列.
[in]work待执行的任务.
返回
0: 成功, 其他: 失败.

◆ aos_work_sched()

aos_status_t aos_work_sched ( aos_work_t work)

将任务放入默认任务队列执行.

参数
[in]work待执行的任务.
返回
0: 成功, 其他: 失败.

◆ aos_workqueue_create()

aos_status_t aos_workqueue_create ( aos_workqueue_t workqueue,
const char *  name,
int32_t  prio,
void *  stack_buffer,
size_t  stack_size 
)

创建任务队列.

参数
[in]workqueue被创建任务队列地址.
[in]name任务队列名称.
[in]pri任务优先级.
[in]stack_buffer任务队列的任务栈地址,若为NULL,则系统内部动态分配.
[in]stack_size任务栈大小.
返回
0: 成功, 其他: 失败。

◆ aos_workqueue_del()

void aos_workqueue_del ( aos_workqueue_t workqueue)

删除任务队列.

参数
[in]workqueue待删除的任务队列.