5296|14

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince消息传递问题!谢谢了 [复制链接]

我写了一个函数用来发送消息,只是一个函数,在这个函数里面定义了一个数组,
哪么这个数组是保存在栈中的,是这样的吗?
调用完这个函数之后,这个数组就会被清除!

这个时候我使用PostThreadMessage向线程发送消息,消息的内容就是这个数组。
经过测试,在接收线程里使用PeekMessage,能够接收到消息,并解析出来,

但是我想问,这样做安全吗?如果发送消息函数已经调用完毕,而接收线程未能及时响应,哪么这个消息还能正确发送吗!

如果不能我应该怎么做!

谢谢!
此帖出自WindowsCE论坛

最新回复

使用过多的不好是会管理混乱,容易出错  详情 回复 发表于 2008-5-14 15:27
点赞 关注
 

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
post发送的消息是不用等待处理就返回的。

系统会有保存消息现场的动作的。
此帖出自WindowsCE论坛
 
 
 

回复

103

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
也就是说这个消息能够发送出去,但是不能保证能否收到
是这样的吗、
谢谢
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
post就是这样的。

Send才是必须等待处理结果的。
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
如果正常情况下,post和send都是差不多的,当系统处于忙的时候,也许会产生丢失的情况的

楼主可以考虑使用函数指针的方式来代替消息,因为这样一来效率也提高不少
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
send也能向线程发送消息,是吧?

我这样传送过去的也是数组的首地址,也就是一个指针,
KevinCEC所说的指针和我发送过去的首地址是相同的吗???
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(中级)

7
 
send好像只能向windows发送消息,
我在msdn中没有找到send的向线程发送的方法。

KC说的用函数指针的方法用在向线程传递消息上?
是指回调函数?
没有明白怎么使用。
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
呵呵,看错了.....
PostThreadMessage 是要加入消息循环当中的,自然有可能不能及时的处理.

不过也没有其他的方法了...

楼主如果不放心,可以通过一些全局变量来实现啊.这个问题跟线程同步问题类似.
此帖出自WindowsCE论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

9
 
谢谢大家的指点,

向其他线程发送消息,现在好像只有用PostThreadMessage 了,并且如果同一个线程连续两次,间隔很短向同一个线程发送消息,
接收线程很可能第二次接收到的就是一个乱码!
两个消息之间需要一定的时间间隔

最开始我使用的是全局变量,但我同事说这样做很不安全,因此我就只能使用消息了,但是我同事,就是我们组长,
他说我这样做,把程序搞复杂了,
我想请问,还有没有更好的方法使线程同步,并接收消息!
谢谢
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
creatmute呢?
此帖出自WindowsCE论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 BEYONDMA 的回复:
creatmute呢?

没有这个函数呢
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
强烈建议你看书,只要看一眼都行。

线程同步好像本科都讲过的。

随便一本讲线程的书上都会有详细的描述。

何必再问呢?
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

13
 
数组动态分配,在收到消息的时候释放它不就可以了
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

14
 
消息传递的书我是看了很多的了,也用了很多,并且在我的多线程程序里面,很多地方使用到消息,事件,互斥等,来实现同步

由于我是刚参加工作的,同事说我这个消息,事件使用过多,不好!
我又想了很久,也没有找到什么方法使他变得简单,郁闷。

等会儿忙完了就结贴了!
此帖出自WindowsCE论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

15
 
使用过多的不好是会管理混乱,容易出错
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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