找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5861|回复: 3

ace的消息队列问题

[复制链接]
发表于 2009-12-11 10:55:12 | 显示全部楼层 |阅读模式
本人使用了ACE的线程池,用一个MANAGER管理分发MESSAGE_BLOCK,多个worker做分线程负责处理。每个worker去getq取分发给自己的消息包的时候发生了问题,发现处理速度快的时候塞进去一个包,有时候getq取出来好几个重复的包。开始也不相信,现在用自己的代码代替了getq函数,发现问题就解决了。还有ACE下的消息队列也是同样的问题,只要处理速度一快,塞进去一个包,能取出来好几个重复的包!而又莫名其妙丢了不少的包,不知何故,请求高手指点!
发表于 2009-12-11 11:13:45 | 显示全部楼层
是否使用锁策略初始化
ACE_Message_Queue<ACE_MT_SYNCH>
发表于 2009-12-11 19:45:03 | 显示全部楼层
原帖由 lilinfeng124 于 2009-12-11 10:55 发表
本人使用了ACE的线程池,用一个MANAGER管理分发MESSAGE_BLOCK,多个worker做分线程负责处理。每个worker去getq取分发给自己的消息包的时候发生了问题,发现处理速度快的时候塞进去一个包,有时候getq取出来好几个重复的包。 ...

使用不当,用同步策略,版主已经告诉你了。ACE如果连这点都搞不定,哪里来的声望和用户?工业级质量,不是说着玩的。
 楼主| 发表于 2009-12-14 09:48:31 | 显示全部楼层
1楼的大哥,我用的就是带锁的那个啊!2楼的大哥,弱弱地问一句,什么叫同步策略啊?版主文章在哪里啊?
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-22 03:04 , Processed in 0.016963 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表