eric2013 发表于 2020-4-14 13:05:29

FreeRTOS关闭时间片调度后,如果程序依然有同优先级任务的问题




对于FreeRTOS来说毫无规律性。这两个同优先级任务所处于的等级位置,调度前还是后启动等等,会有各种各样的执行情况

不像uCOS-III那么明确,对于III来说,如果没有开启时间片,同优先级会议类似合作式调度方式执行




wdliming 发表于 2020-4-14 14:00:18

ucos 毕竟上过火星

emwin 发表于 2020-4-16 13:48:44

具体可能得看代码。文档里是这么说的:
Any number of tasks can share the same priority. If configUSE_TIME_SLICING is not defined, or if configUSE_TIME_SLICING is set to 1, then Ready state tasks of equal priority will share the available processing time using a time sliced round robin scheduling scheme.

caicaptain2 发表于 2020-4-16 14:34:20

本帖最后由 caicaptain2 于 2020-4-16 14:36 编辑

我猜测,同优先级任务的执行顺序应该是和创建的顺序一致的。
另外,如果切换时间是1ms的话,有可能是每个任务轮流执行1ms,也可能是一个任务执行完了,下个任务再执行。 可以观察一下。

eric2013 发表于 2020-4-16 17:29:52

emwin 发表于 2020-4-16 13:48
具体可能得看代码。文档里是这么说的:

看代码了,逻辑关系不好捋顺。

eric2013 发表于 2020-4-16 17:30:44

caicaptain2 发表于 2020-4-16 14:34
我猜测,同优先级任务的执行顺序应该是和创建的顺序一致的。
另外,如果切换时间是1ms的话,有可能是每个 ...
其实没关系,实际测试还挺乱的,什么结果都有。

caoenq 发表于 2020-5-20 09:48:03

caicaptain2 发表于 2020-4-16 14:34
我猜测,同优先级任务的执行顺序应该是和创建的顺序一致的。
另外,如果切换时间是1ms的话,有可能是每个 ...

FreeRTOS同优先级的任务就是轮流执行,每个任务执行一个时间片。
页: [1]
查看完整版本: FreeRTOS关闭时间片调度后,如果程序依然有同优先级任务的问题