RT-Thread 空闲线程以及两个常用的钩子函数

空闲线程: RT-Thread OS 中的一个特殊的系统线程,具备最低的优先级,形式上是一个无限循环结构,永远不被挂起

当系统中没有其他的就绪线程可以运行的时候,调度器将调度到空闲线程

空闲线程负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作

空闲线程向用户提供了钩子函数,空闲线程钩子函数可以让系统在空闲的时候执行一些非紧急事务,例如系统运行指示灯闪烁,CPU使用率统计等等。

RT-Thread 空闲线程以及两个常用的钩子函数_第1张图片RT-Thread 空闲线程以及两个常用的钩子函数_第2张图片

空闲线程钩子函数:
设置钩子函数:rt_err_t rt_thread_idle_sethook(void (*hook)(void))

删除钩子函数:rt_err_t rt_thread_idle_dehook(void (*hook)(void))

空闲线程钩子函数使用注意:

(1)由于空闲线程是一个永远为就绪态的线程,所以钩子函数中执行的相关代码必须保证空闲线程在任何时刻都不会被挂起,例如rt_thread_delay() 、rt_sem_take()等可能会导致线程挂起的阻塞类函数都不能在钩子函数中使用。

(2)空闲线程可以设置多个钩子函数

你可能感兴趣的:(STM32,RT-Thread)