伊森亨特
伊森亨特
This guy hasn't written anything yet

注册于 5 months ago

回答
9
文章
0
关注者
0

伊森亨特 发表了评论

3 months ago

不同优先级线程获得信号量后输出不同?

问题关键不是send被多调度一次,是send优先级高的时候多调度一次,但是rev优先级高的时候没有多调度一次

伊森亨特 发表了评论

3 months ago

不同优先级线程获得信号量后输出不同?

不行,眼睛看花了,还是没看到符合推理的结果。把mdelay时间调整长一点会有效果不?

伊森亨特 对问题发布了答案

3 months ago

不同优先级线程获得信号量后输出不同?

不行,眼睛看花了,还是没看到符合推理的结果。把mdelay时间调整长一点会有效果不?

伊森亨特 发表了评论

3 months ago

不同优先级线程获得信号量后输出不同?

而且为什么rev抢占send的时候,没有发送连续相同的数据?谢谢

伊森亨特 发表了评论

3 months ago

不同优先级线程获得信号量后输出不同?

value0和value1是临界资源,那我用信号量不能保护他俩不被改变吗?

伊森亨特 发表了评论

3 months ago

不同优先级线程获得信号量后输出不同?

现在执行一会value就循环了,我把这个value的值加大成32位,然后把打印信息缩短试试。

伊森亨特 发表了评论

3 months ago

线程创建函数create最后的tick的作用?

你好,你说的第二点,不会引起线程切换,只会限制当前线程执行的最高时间。如果当前线程a要执行1s,时间片只有20ms,到了20ms的时候,会发生什么?继续执行a,还是去执行同优先级的b?

伊森亨特 采纳了的最佳答案

3 months ago

请问为什么yield不会造成线程切换

伊森亨特 发表了评论

3 months ago

请问为什么yield不会造成线程切换

谢谢。出现之前的问题是因为线程比main优先级高,创建线程都是在main里的,所以会这样。现在我也可以用两个yield

伊森亨特 发表了评论

3 months ago

请问为什么yield不会造成线程切换

@DENGCHOW 我又进行了测试,测试结果如下表9 10 11 12这四种情况,当rev优先级高,send使用yield函数,yield函数会找到优先级最高的线程执行,这时候应该执行rev线程啊。可

伊森亨特 发表了评论

3 months ago

请问为什么yield不会造成线程切换

@DENGCHOW 谢谢你。我复制你的代码跑了一下,等了5分钟,没反应,难道是rtconfig.h里有东西没有配置吗?

回到
顶部

发布
问题

投诉
建议