找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4173|回复: 1

ACE_Task 中putq 和put的区别

[复制链接]
发表于 2007-12-22 22:17:37 | 显示全部楼层 |阅读模式
最近学习ace_task类,但看到有两个消息入队列成员,几乎一样,不解为什么同样的功能用2个一样的成员实现?还是他们有区别?C++NP2说得不清楚。
 楼主| 发表于 2007-12-22 22:17:44 | 显示全部楼层
这两个函数差别挺大的。

前者是  template<ACE_SYNCH_DECL> ACE_Task的成员函数,是把消息放入其队列中。

后者是 ACE_Task_Base的成员函数,被定义为空操作,由于ACE_Task是它的子类,因此也继承了此接口,但同样是空操作。之所以这样设计,是为回调提供一个机会。如果您学习到了ACE_Stream框架相关的实现,就发现,由于框架调用了put(),所以你必须重载此函数。这时,就能更好的理解ACE为什么要提供这样两个函数了。

通常情况下,如果要重载 put(),简单调用putq()即可。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-5-20 07:27 , Processed in 0.017832 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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