RT-Thread API参考手册
3.1.1
嵌入式实时操作系统
|
工作队列接口 更多...
结构体 | |
struct | rt_workqueue |
工作队列控制块 更多... | |
struct | rt_work |
工作回调函数信息 更多... | |
函数 | |
struct rt_workqueue * | rt_workqueue_create (const char *name, rt_uint16_t stack_size, rt_uint8_t priority) |
创建工作队列 更多... | |
rt_err_t | rt_workqueue_destroy (struct rt_workqueue *queue) |
销毁工作队列 更多... | |
rt_err_t | rt_workqueue_dowork (struct rt_workqueue *queue, struct rt_work *work) |
增加工作队列任务 更多... | |
rt_err_t | rt_workqueue_cancel_work (struct rt_workqueue *queue, struct rt_work *work) |
取消工作队列任务 更多... | |
rt_err_t | rt_workqueue_cancel_work_sync (struct rt_workqueue *queue, struct rt_work *work) |
同步取消工作队列任务 更多... | |
rt_inline void | rt_work_init (struct rt_work *work, void(*work_func)(struct rt_work *work, void *work_data), void *work_data) |
初始化work 更多... | |
工作队列接口
struct rt_workqueue* rt_workqueue_create | ( | const char * | name, |
rt_uint16_t | stack_size, | ||
rt_uint8_t | priority | ||
) |
创建工作队列
调用该函数接口后,内核首先从动态内存堆中分配一个工作队列控制块,然后对该控制块进行基本的初始化,并创建一个工作队列处理线程。
name | 工作队列名称 |
stack_size | 工作队列处理线程堆栈空间大小 |
priority | 工作队列处理线程的优先级 |
rt_err_t rt_workqueue_destroy | ( | struct rt_workqueue * | queue | ) |
销毁工作队列
调用这个函数接口后,系统会删除这个工作队列的处理线程,然后释放相应的工作队列控制块占有的内存。
queue | 工作队列句柄 |
rt_err_t rt_workqueue_dowork | ( | struct rt_workqueue * | queue, |
struct rt_work * | work | ||
) |
增加工作队列任务
调用该函数可以向指定的工作队列中添加任务。
queue | 工作队列句柄 |
work | 任务控制块 |
rt_err_t rt_workqueue_cancel_work | ( | struct rt_workqueue * | queue, |
struct rt_work * | work | ||
) |
取消工作队列任务
调用该函数可以取消任务队列中尚未执行的任务。
queue | 工作队列句柄 |
work | 任务控制块 |
rt_err_t rt_workqueue_cancel_work_sync | ( | struct rt_workqueue * | queue, |
struct rt_work * | work | ||
) |
同步取消工作队列任务
调用该函数可以取消循环任务,如果任务正在执行中,则等待该次任务完成后取消。
queue | 工作队列句柄 |
work | 任务控制块 |