在semaphore_sample中我不太明白具体线程是怎么走的,
但是thread2的优先级高,所以
查看更多
分析时还得把“初始化函数”的优先级考虑进去。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
也就是说start之后立即开始调度是吧,但即使是thread1的优先级高于初始化函数,也不要等待初始化函数执行挂起吗
对,是“立即开始(用参与更合适)调度”,但是否马上就能运行,得看优先级。
这里主要是看:是否比“初始化函数”的优先级高。
那即使是比初始化优先级高,不也需要等待初始化函数执行结束到挂起状态吗
如果要等的话,怎么叫优先级抢占呢。
一语点醒
@EMHT_9345 低优先级线程启动多个高优先级线程,需要考虑要不要必须先 start 哪个。
启动多个低优先级线程是等到时间片用尽的时候。
其实,记住一点儿,
rt_thread_startup
函数是带调度的,执行它就有可能切换到更高优先级线程。