社区
Windows SDK/API
帖子详情
怎么保证线程间发送消息不失败呢?
gbhsky
2010-02-03 12:18:51
我使用postthreadmessage,发送成功后函数就返回了,而接收线程偶尔会接收不到消息,这种情况是不允许的,因为程序的流程不能有任何中断,请问要怎么避免目标线程接收不到消息的情况呢?重复多次发送吗?好像也不太合适啊
...全文
98
8
打赏
收藏
怎么保证线程间发送消息不失败呢?
我使用postthreadmessage,发送成功后函数就返回了,而接收线程偶尔会接收不到消息,这种情况是不允许的,因为程序的流程不能有任何中断,请问要怎么避免目标线程接收不到消息的情况呢?重复多次发送吗?好像也不太合适啊
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
8 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
bdmh
2010-02-03
打赏
举报
回复
post是不等待返回的,send是要等待返回才继续执行的
lhy
2010-02-03
打赏
举报
回复
改用其他方式,消息总有收不到的时候。
brightyang
2010-02-03
打赏
举报
回复
send会等到收到消息处理的返回码
brightyang
2010-02-03
打赏
举报
回复
sendthreadmessage
greenspan
2010-02-03
打赏
举报
回复
一般都应该收得到,收不到的原因也许是接收端的问题:
应该使用while循环来接收完所有的消息,而不是在等到消息后只收一次。
brightyang
2010-02-03
打赏
举报
回复
send你自已写一个
建个event
HANDLE hEvent = ::CreateEvent(...);
WPARAM wParam = (WPARAM)hEvent;
::PostThreadMessage(dwThreadId,uMsgId,wParam,...);
::WaitForSingleObject(hEvent,INFINITE);
::CloseHandle(hEvent);
gbhsky
2010-02-03
打赏
举报
回复
据我所知好像没有sendthreadMessage这个API吧
buding79
2010-02-03
打赏
举报
回复
要想保证成功,我觉得只能等待,判断返回值。
我们两个程序间,我们使用SendMessageTimeout,带超时功能。
相关推荐
MFC
线程
间
发送
消息
MFC
线程
间
发送
消息
的实现代码,详细可以看我的博客MFC
线程
间
发送
消息
的实现代码,详细可以看我的博客
threading
概览: Chromium是一个有着诸多
线程
的产品。我们尽量
保证
UI的快速响应,这就意味着不能有任何的堵塞的I/O或者耗时操作来堵塞UI
线程
。我们把在
线程
间
传递
消息
作为
线程
间
通信的方法。我们摒弃了锁和
线程
安全对象,取而代之的是一个对象只生存在一个
线程
中,我们通过在
线程
间
传递
消息
来通讯,并且我们使用回掉接口(由
发送
消息
者实现)来完成
线程
间
的请求。 Thread在base/thr...
2020 android面试题总结部分
进程
间
通信方式 主要有intent,只支持Bundle支持的数据类型; Messenger 支持一对多串行通信,用于
发送
消息
及Bundle数据; AIDL 功能强大,可调用服务端方法; ContentProvider 主要支持进程
间
共享数据; BroadCastReceiver 广播也可实现进程
间
通信,
发送
消息
及数据
线程
间
通信方式 使用volatile关键字(修饰基本类型数据),实现
线程
间
共享内存,
保证
数据的可见性; 使用object类的wait()和notify()方法配...
Android 使用handler实现
线程
间
发送
消息
(主
线程
与 子
线程
之
间
)、(子
线程
与 子
线程
之
间
)
关键字:Android 使用handler实现
线程
间
发送
消息
(主
线程
与 子
线程
之
间
)、(子
线程
与 子
线程
之
间
) 相信大家平时都有使用到异步
线程
往主
线程
(UI
线程
)
发送
消息
的情况。本文主要研究Handler的
消息
发送
。包括主
线程
往子
线程
发送
消息
,子
线程
之
间
互相
发送
消息
。 一、主
线程
向子
线程
发送
消息
。 实现过程比较简单: 主
线程
发送
消息
到异步
线程
,异步
线程
通过
发送
消息
来实现
线程
间
通信
通过
发送
消息
来实现
线程
间
通信2008年11月12日星期三
线程
间
通常需要通信,可以通过
发送
消息
来实现
线程
间
的通信。但通常将继承
线程
类CWinThread(在MFC中),需要注意两点:一是,
线程
函数的
消息
映射宏(ON_THREAD_MESSAGE);二是,给
线程
发
消息
的函数(PostThreadMessage)。详细的代码实现如下:
线程
类:BEGIN_MESSAGE_MAP(CCacu
发帖
Windows SDK/API
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
1177
社区成员
2.2w+
社区内容
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2010-02-03 12:18
社区公告
暂无公告