3.线程的创建2020-04-28

2020-04-28  本文已影响0人  宜居远控

RT_thread中,线程由:线程代码(入口函数),线程控制块,线程堆栈 组成

1.线程代码:分为无线循环结构 和 顺序执行结构

void thread_entry(void *parameter)

{

/*等待事件发生*/

无限循环结构 ,必须有让出cpu控制权的动作

/*处理事件*/

}

void thread_entry(void *parameter)

{

/*事务1处理*/

/*事务2处理*/

/*事务N处理*/

}

2.线程控制块

线程控制块是操作系统用于管理线程的一个数据结构,它会存放线程的一些信息,比如:线程名称,优先级,线程状态等,也包括线程与线程间连接用的链表结构,线程等待事件集合。

struct rt_thread

struct rt_thread *rt_thread_t

3.线程栈

rt_thread中每个线程都有独立的栈空间,当线程切换时,系统会当前将线程的上下文保存在线程栈中,当线程要恢复时,再从线程栈中读取上下文信息,恢复线程运行。

线程栈形式上一段连续的内存空间,我们可以通过定义一个数组或申请一段动态内存来作为线程的栈。


RTT系统 main函数和其它线程的地位是相等的,在while循环里 都必须让出线程的控制权

上一篇 下一篇

猜你喜欢

热点阅读