3495|5

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

问一个有关消息队列的问题 [复制链接]

这几天做相关项目的测试,有个问题不解:
在vxworks环境下有两个任务A和B,B的优先级高
B接收消息并通过驱动函数转发出去,消息队列中最大消息个数为500个,添加了流量控制,每转发3包个则延迟1个tick
而测试任务A我设定每向B发送20个消息(一个消息代表一个包)延迟1个tick,我觉得这样会造成丢包,因为A发送的速率明显比B接收并转发的速率要高,即使B的优先级高

可实际测试了一个多小时,却并没有丢包现象,哪位能解释下为什么,谢谢

最新回复

A的任务可能阻塞 msgQSend(TestMSGQId,MSGbuffer,sizeof(MSGbuffer),timeout,MSG_PRI_NORMAL); 那不是有timeout时间吗? 如果waitforever ,不就阻塞了 两外 B转发的处理速度是多少?这个速率和msgsend的比率是多少?我个人感觉msg的send和recive是比较慢的。   详情 回复 发表于 2008-11-19 21:50
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1 这一个小时,A任务是否因为消息队列满而阻塞呢
2 看看A发送的包个数少了吗
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
老兄,第一你可以看消息队列看有没有满阿,第二,再怎么算,你这样的发包,收包也不会有问题的,第三,我觉得你该了解msgQ的机理,因为绝对不会发生丢包这种事
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
如果你往消息队列发送的时候的timeout够大或者是-1,就算测一年也不会丢包。msgQSend的时候,如果消息队列满了的话,它也只是被阻塞住而已,又不会丢包
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
消息队列真的很好用!!!
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
A的任务可能阻塞

msgQSend(TestMSGQId,MSGbuffer,sizeof(MSGbuffer),timeout,MSG_PRI_NORMAL);

那不是有timeout时间吗?
如果waitforever ,不就阻塞了

两外
B转发的处理速度是多少?这个速率和msgsend的比率是多少?我个人感觉msg的send和recive是比较慢的。







 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
ADI &文晔 探索季第一站,邀您在活动帖跟帖,ADI资深工程师将与您一道寻求解决之道! ...
春晚,最出圈当属穿着棉马甲跳秧歌的机器人”秧Bot”。
转手绢、飞手绢、变换队形,精准度和稳定性甚至超越人类,这背后少不了电机控制技术。

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表