完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
比如说。首先创建任务1,优先级为1,然后开调度器,此时,只有一个任务1和空闲任务,那么必然发生一次调度,执行任务一;然后再任务1创建三个任务,任务2 优先级2 依次;那么是否当任务2创建成功会发生调度,任务2优先级高于1,那么就执行2,当2被挂起再接着任务1创建任务3,再发生调度,执行任务3呢?
|
|
相关推荐
3个回答
|
|
应该不是这样,是在所有任务创建成功,删除开始任务引起的调度
|
|
|
|
|
|
在创建新任务的代码中xTaskCreate---prvAddNewTaskToReadyList函数中有这样一段代码:
if( xSchedulerRunning != pdFALSE ) { /* If the created task is of a higher priority than the current task then it should run now. */ if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority ) { taskYIELD_IF_USING_PREEMPTION(); //为何不在这里更新pxCurrentTCB = pxNewTCB? } else { mtCOVERAGE_TEST_MARKER(); } } 如果新创建的任务优先级比当前的任务优先级高并且此时调度器是运行的,那么是会任务调度的。求跟帖讨论 |
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 0 评论
1154 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2713 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1083浏览 3评论
195浏览 2评论
461浏览 2评论
374浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:52 , Processed in 1.287255 second(s), Total 51, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号