1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
休眠,延时,挂起等
|
|
|
|
高优先级如有vTaskDelay之类的delay函数,运行时就会在这让当前线程休眠,跑去去行低优先级的,时间再再让优先级先后来调用
|
|
|
|
在操作系统中,任务调度器会根据任务的优先级来决定哪个任务应该被执行。在您提到的情况下,有两个任务,一个优先级高,一个优先级低。如果高优先级的任务一直在执行,那么低优先级的任务可能不会被调度执行。但是,有几种情况可以导致低优先级的任务被调度执行:
1. 高优先级任务的执行时间片用完:操作系统会为每个任务分配一个时间片,当高优先级任务的时间片用完时,调度器会将其放回就绪队列,并尝试调度低优先级的任务。 2. 高优先级任务进入阻塞状态:如果高优先级任务在执行过程中遇到了阻塞(例如,等待I/O操作完成),那么调度器会将低优先级的任务调度执行。 3. 高优先级任务主动放弃CPU:在某些情况下,高优先级任务可能会主动放弃CPU,让调度器调度其他任务。这可以通过编程实现,例如使用sleep函数或者yield函数。 4. 任务优先级动态调整:在某些操作系统中,任务的优先级可能会根据任务的执行情况动态调整。如果高优先级任务长时间占用CPU,操作系统可能会降低其优先级,从而使得低优先级任务有机会被调度执行。 5. 实时操作系统中的抢占式调度:在实时操作系统中,如果低优先级任务具有更紧迫的实时需求,调度器可能会采用抢占式调度,强制中断高优先级任务的执行,让低优先级任务获得CPU。 总之,虽然高优先级任务会优先被调度执行,但在某些情况下,低优先级任务仍然有机会被调度执行。这取决于操作系统的调度策略和任务的执行情况。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1817 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1631 浏览 1 评论
1103 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
739 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1692 浏览 2 评论
1951浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
755浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
586浏览 3评论
605浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
568浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 18:36 , Processed in 1.020721 second(s), Total 83, Slave 65 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号