完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
是在内核滴答计时器的中断中进行判断和线程的调度的。
内核滴答计时器中断的处理函数如下:
rt_tick_increase() 的源码如下:里面判断了是否有就绪的线程有的话进行调度器的调度,最后查看了定时器列表查看是都有定时器到时,有的话执行定时器的回调函数。
rt_schedule() 的源码如下:进行线程优先级的判断进行调度。
|
|
|
|
可以搜下:rt_schedule();,这是执行调度的,
|
|
|
|
几种调度方式。
线程时间片耗尽,这个时候是在 systick 中断里进行的调度。时间片轮换式。 线程等待资源自动挂起,这个时候可能出现在任何时间,不一定是 systick 中断。让出 cpu 资源给低优先级线程,比如 idle。 其它外设中断里,资源可用,引起线程调度,可能出现挂起当前线程,转向更高优先级线程。抢占式。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1193 浏览 3 评论
rk1126实现BT601输入,输入不带IIC接口的驱动程序
2999 浏览 0 评论
2256 浏览 1 评论
3468 浏览 3 评论
RK3568 Android11让系统ntp校准时间生效,需要设置些什么
3761 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-12 12:19 , Processed in 0.617766 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191