Notes on learning RT-Thread——线程管理的功能和特点

功能

RT-Thread 线程管理的主要功能是对线程进行管理和调度。

系统中总共存在两类线程,一类是系统线程,一类是用户线程。

系统线程是由 RT-Thread 内核创建的线程。

用户线程是由应用程序创建的线程。

这两类线程都会从内核对象容器中分配线程对象,当线程被删除时,也会被从对象容器中删除。每个线程都有重要的属性,如线程控制块、线程栈、入口函数和线程状态 线程优先级,时间片,线程入口函数等。
线程管理图

特点

RT-Thread 的线程调度器是抢占式的,主要的工作就是从就绪线程列表中查找最高优先级线程,保证最高优先级的线程能够被运行,最高优先级的任务一旦就绪,总能得到 CPU 的使用权。

当一个运行着的线程使比它优先级高的线程满足运行条件,高优先级的线程立刻得到了 CPU 的使用权,原线程将被挂起。

如果是中断服务程序使高优先级的线程满足运行条件,中断完成时,被中断的线程挂起,优先执行优先级高的线程,优先级高的线程运行结束之后再执行被中断的线程。

当调度器调度线程切换时,先将当前线程上下文(线程执行时的运行环境,包括各个数据和变量)保存起来,当再切回到这个线程时,线程调度器将该线程的上下文信息恢复。
本文参考于RT-Thread文档中心

猜你喜欢

转载自blog.csdn.net/qq_42860728/article/details/89216113