搜索
bottom↓
回复: 6

请教rt_thread_create()参数rt uint32 t tick的具体作用?

[复制链接]

出0入0汤圆

发表于 2010-8-27 09:44:42 | 显示全部楼层 |阅读模式
请教rt_thread_create()参数rt uint32 t tick的具体作用?

rt_thread_t rt_thread_create (const char* name,
                             void (*entry)(void* parameter),
                             void* parameter,
                             rt_uint32_t stack_size,
                             rt_uint8_t priority,
                             rt_uint32_t tick
                            )
中最后一个参数 tick编程手册中说:"时间片(tick) 的单位是操作系统的时钟节拍,当系统中存在相同优先级线程时,这个参数指
定线程一次调度能够运行的最大时间长度,这段时间片运行结束后,调度器自动选择下一个就绪的同优先级线程进行运行",

按手册的理解,此参数只对任务优先级相同的任务有影响,这样理解对吗?
那么如果创建的是不同优先级的任务,这个参数对不同优先级的任务有什么具体的意义呢,

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-8-27 11:40:15 | 显示全部楼层
是的,基本上只对同优先级线程有影响。这个参数至少要大于一定数值(例如2),因为时间片轮转调度有个误差,误差是1个时钟节拍。

出0入0汤圆

发表于 2010-8-27 13:36:18 | 显示全部楼层
想问一下,如果又同优先级的线程,是不是当前线程的时间到了之后,会强制退出当前线程,然后去调用其他的线程。如果没有相同优先级的线程,那么当前线程是否会受时间影响,还是说先退出,然后判断没有线程需要执行,在重新载入当前线程

出0入0汤圆

发表于 2010-8-27 16:26:34 | 显示全部楼层
同优先级调度,采用的是时间片轮转算法(且每个线程的时间片可配置):

当有多个相同优先级线程运行时,将各自消耗掉自己的时间片,例如T1、T2、T3,每个线程执行的代码都是while(1);

那么T1、T2、T3将各自在运行完它们的时间片后,让出处理机(让给相同优先级的就绪线程)。让出处理机以后,它的可执行时间片又恢复成它初始设置的时间片大小。如果此时没有其他相同优先级的就绪线程存在,那么它将继续运行(可用时间片是初始设置的时间片大小),在Cortex-M3上,并没有这个线程上下文切入再切出的动作。

出0入0汤圆

发表于 2010-8-28 23:58:21 | 显示全部楼层
那么,我的任务优先级都是不同的,这个参数建议设为多少?0可以吗?

出0入0汤圆

发表于 2010-8-29 06:04:14 | 显示全部楼层
回复【1楼】ffxz  
是的,基本上只对同优先级线程有影响。这个参数至少要大于一定数值(例如2),因为时间片轮转调度有个误差,误差是1个时钟节拍。
-----------------------------------------------------------------------

出0入0汤圆

发表于 2010-8-29 11:00:40 | 显示全部楼层
明白了,多谢ffxz的讲解。也就是说如果我的程序中如果没有相同优先级的线程,那么时间片就没什么影响,调度器会一次性的执行完当前线程,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-29 13:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表