3601|2

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince下的thread message丢失问题? [复制链接]

这样的
线程A不停地malloc数据,通过PostThreadMessage()把数据块的指针发送给另外一个线程。
线程B while地GetMessage(),将数据块保存至文件,并free掉。

现在发现这样做的情况下,会发生内存泄露,后来我设置了一个变量,每次PostThreadMessage成功就+1
getmessage后-1。
最后打印出来的结果都是正数。也就是说有些消息丢失了。

我想问的问题是:
1、在thread B接收速度比thread A快的情况下,会有消息丢失的情况发生么?
2、在thread B接收速度比thread A快,但偶尔A会有数据突发,这样的情况下,消息会丢失么?是否跟消息队列的buffer大小有关?

谢谢!
此帖出自WindowsCE论坛

最新回复

malloc和Free要配对。所以如果两者速度不一样,就不确定能配对了,就可能有泄漏的情况了。同意楼上的,加入同步比较好~ 如果B比A快的话,而且处理也快的话,在A下一次触发前完成,应该没问题。如果A比B快,就危险了。  详情 回复 发表于 2009-10-13 22:28
点赞 关注
 

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
使用同步机制
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
malloc和Free要配对。所以如果两者速度不一样,就不确定能配对了,就可能有泄漏的情况了。同意楼上的,加入同步比较好~

如果B比A快的话,而且处理也快的话,在A下一次触发前完成,应该没问题。如果A比B快,就危险了。
此帖出自WindowsCE论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
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
快速回复 返回顶部 返回列表