社区
Windows SDK/API
帖子详情
怎么保证线程间发送消息不失败呢?
gbhsky
2010-02-03 12:18:51
我使用postthreadmessage,发送成功后函数就返回了,而接收线程偶尔会接收不到消息,这种情况是不允许的,因为程序的流程不能有任何中断,请问要怎么避免目标线程接收不到消息的情况呢?重复多次发送吗?好像也不太合适啊
...全文
103
8
打赏
收藏
怎么保证线程间发送消息不失败呢?
我使用postthreadmessage,发送成功后函数就返回了,而接收线程偶尔会接收不到消息,这种情况是不允许的,因为程序的流程不能有任何中断,请问要怎么避免目标线程接收不到消息的情况呢?重复多次发送吗?好像也不太合适啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
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,带超时功能。
向
线程
发送
消息
函数原型:BOOL PostThreadMessage(DWORD dwThreadId,UINT uMsg,WPARAM wParam,LPARAM lParam); 函数功能:该函数将一个
消息
放入到指定
线程
的
消息
队列里,不等待
线程
处理
消息
就返回。如果dwThreadId不是一个有效的
线程
标识符或由dwThreadId指定的
线程
没有
消息
队列,该函数将调用
失败
,GetLastError返回ERR
linux
线程
及
线程
间
通讯
linux
线程
基本操作及
线程
间
通讯
一个使用多
线程
发送
消息
到kafka集群的java程序
一个使用多
线程
发送
消息
到kafka集群的java程序 本人之前参与的某个大数据项目,由于测试的需要,所以帮助写了一个数据
发送
工具用于
发送
大量数据到kakfa进行业务性能压测。程序虽然简单,但我想对于初学kafka的同学,还是有一定的借鉴意义的,遂打算贡献出来。本来是打算把源码打成压缩包上传的,无奈公司在安全方面做的很严格,将文件上传到csdn, github等网站会被公司电脑检测到并被禁止,无奈以...
线程
间
通信
目录 一、
线程
理论基础 1、什么是
线程
2、为什么有了进程,还要引入
线程
呢? (使用多
线程
到底有哪些好处?) 3、
线程
的缺点 二、多
线程
间
通信 1、多
线程
通信的注意事项 2、创建
线程
的步骤 3、终止
线程
的方式 4、
线程
API 使用 (1)pthread_create() 函数 (创建
线程
) (2)pthread_exit()函数 (结束
线程
) (3)pthread_join()函数 (等待
线程
结束) 三、
线程
同步 1、互斥量 (1)互斥量注意事项 (2)互斥锁创建步..
MQ - 如何
保证
消息
不丢失?处理重复
消息
?
消息
堆积处理?
什么是
消息
队列 在百度百科中,
消息
队列是这么解释的:“
消息
队列”是在
消息
的传输过程中保存
消息
的容器。
消息
队列全称为英文 Message Queue 简称(MQ)是一种应用程序对应用程序的通信方法。MQ 是消费-生产者模型的一个典型的代表,一端往
消息
队列中不断写入
消息
,而另一端则可以取队列中的
消息
。
消息
发布者(生产者)只管把
消息
发布到 MQ 中而不用管谁来取,
消息
使用者(消费方)只管从 MQ 中取
消息
而不用管是谁发布的。 目前市面上的
消息
队列有很多,例如:Kafka、RabbitMQ、ActiveMQ、Ro
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章