社区
C++ 语言
帖子详情
什么是消息阀?
Microsoft777
2008-04-30 04:56:34
刚才在百度和 google 搜索了一下
没有找到相关的资料
我想解决在进程执行过程中狂占CPU的问题
哪位哥哥看看能解决不
小弟这里先谢谢了
...全文
185
12
打赏
收藏
什么是消息阀?
刚才在百度和 google 搜索了一下 没有找到相关的资料 我想解决在进程执行过程中狂占CPU的问题 哪位哥哥看看能解决不 小弟这里先谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Microsoft777
2008-05-05
打赏
举报
回复
消息泵和消息阀是同一个概念
BOOL GetMessageMap()
{
MSG msg;
while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
::DispatchMessage (&msg);
return TRUE;
}
把消息循环改成这样
herman~~
2008-05-03
打赏
举报
回复
sleep();
abupie
2008-05-02
打赏
举报
回复
[Quote=引用 2 楼 iGoo 的回复:]
不要用这样的方式获取消息
while( 1 )
{
getmessage();
domessage();
}
这是一个busy loop
要用这样的方式
收到消息的线程
ThreadRecvMessage()
{
// 1:将消息放入队列,注意同步保护
// 2:发送事件
SetEvent(hEvent);
}
while( WaitForSingleObject( hEvent, INFINITE ) == WAIT_OBJECT_0 )
{
getmessage();
domessage();
}
[/Quote]很清楚了。
Microsoft777
2008-05-02
打赏
举报
回复
自己顶一下!
Microsoft777
2008-05-02
打赏
举报
回复
while( 1 )
{
getmessage();
domessage();
}
在哪里啊?
solo_coder
2008-05-02
打赏
举报
回复
帮顶一下,
我曾经这样做过 :
while(1)
{
sleep(200);
getmessage();
domessage();
}
让消息处理线程(该程序是多线程的程序,有消息处理分发线程,界面处理线程,工作线程)sleep下,
效果也还可以。
如果没有记错的话,
我记得我以前维护过的一个商业上要求可靠性,性能很高的程序中,
也只是让消息线程sleep等待一下(具体实现是用select函数实现让线程放弃对cpu资源的占用),而没有用到event这样的通告机制,
该程序实际工作也很稳定。
Microsoft777
2008-04-30
打赏
举报
回复
[Quote=引用 2 楼 iGoo 的回复:]
不要用这样的方式获取消息
while( 1 )
{
getmessage();
domessage();
}
这是一个busy loop
要用这样的方式
收到消息的线程
ThreadRecvMessage()
{
// 1:将消息放入队列,注意同步保护
// 2:发送事件
SetEvent(hEvent);
}
while( WaitForSingleObject( hEvent, INFINITE ) == WAIT_OBJECT_0 )
{
getmessage();
domessage();
}
[/Quote]
还是不太懂
while( 1 )
{
getmessage();
domessage();
}
消息循环在 MFC 下应该是被封装了。
ThreadRecvMessage()
{
// 1:将消息放入队列,注意同步保护
// 2:发送事件
SetEvent(hEvent);
}
while( WaitForSingleObject( hEvent, INFINITE ) == WAIT_OBJECT_0 )
{
getmessage();
domessage();
}
这些应该加载哪里呢
iGoo
2008-04-30
打赏
举报
回复
是windowsAPI,可以用的
其实这就是MS倡导的,消息驱动
没事别没头没脑的Get
Microsoft777
2008-04-30
打赏
举报
回复
我是在 MFC 下
这些也适用吗
OpenHero
2008-04-30
打赏
举报
回复
WaitForSingleObject还有其他几个返回结果~最好用一个switch 处理
iGoo
2008-04-30
打赏
举报
回复
不要用这样的方式获取消息
while( 1 )
{
getmessage();
domessage();
}
这是一个busy loop
要用这样的方式
收到消息的线程
ThreadRecvMessage()
{
// 1:将消息放入队列,注意同步保护
// 2:发送事件
SetEvent(hEvent);
}
while( WaitForSingleObject( hEvent, INFINITE ) == WAIT_OBJECT_0 )
{
getmessage();
domessage();
}
OpenHero
2008-04-30
打赏
举报
回复
不知道 mark一下~
bat 等待上一步取得结果后执行_城区大规模小口径智能远传水表 自动远程
阀
控功能的规则实现(上)...
本文详细介绍了长沙供水公司在智能远传水表使用上的实践经验,包括智能水表的通讯机制、每日预结算规则、实时余额计算、远程
阀
控策略等。长沙供水自2012年起大规模应用智能水表,建立了完善的业务管理体系,并制定了详细的远程
阀
控规则,以应对大量智能水表用户带来的管理挑战。系统通过实时余额预警、自动关
阀
催费等功能,实现了精细化管理和自动化运维。
免开发 | 轻松打造智能恒温散热器
阀
本文介绍了一种智能温控
阀
(TRV)解决方案,该方案利用App实现设备的远程控制与智能化管理,支持蓝牙和Zigbee通讯,具备快速配网、温度调节等功能。
RocketMQ~
消息
的种类与生命周期(普通
消息
、延时&定时
消息
、顺序
消息
、事务
消息
)
本文详细介绍了RocketMQ中的
消息
类型,包括普通
消息
、延时&定时
消息
、顺序
消息
和事务
消息
的特点及应用场景,并深入探讨了各种
消息
类型的实现原理。
广州、上海两地泵管
阀
展在行业的热切盼望中重启
随着中国疫情风险降低,展会行业逐渐复苏,多个大型展会的成功举办标志着会展业重启。从湖南车展到广东国际泵管
阀
展览会,参展商和观众的热情高涨,交易额创历史新高。展会主办方与政府密切配合,采取严格防疫措施,保障现场安全。同时,数字化手段的应用提升了参展体验,促进了经济健康发展。
RocketMQ同步
消息
、异步
消息
、单向
消息
详解
本文详细介绍了RocketMQ的三种
消息
发送方式:同步、异步和单向,以及
消息
结构、延迟
消息
、消费重试的处理策略。通过实例演示了如何在Spring Boot项目中实现
消息
的发送和接收。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章