对ACE select的考虑

原创 2007年09月27日 16:51:00

我在前面的代码里已经展示了使用传统select方式开发并发程序的简单流程和它的便利性。但是,和传统的CApis一样,它也有不方便和不安全的地方。

首先fd_set是一个结构,靠着几个外部方法调整内部数据,撇去记忆上的压力,在操作过程中取址、memcpy(我排斥这个方法因为它给我带来很多不易发觉的问题)、轮询等都容易出错,尽管有些编译器可以帮我们诊断问题,但是C++程序员一定想要一个好的封装,这便是ACE_Handle_Set和ACE_Handle_Set_Iter产生的原因。

我们想少直接操作结构、指针,因为结构数据容易被无形中被破坏,指针容易被误用。当我们处于这样的情况的使用,考虑封装是一个不错的主意。

如果你熟悉fd_set,那你对ACE_Handle_Set的各个方法一定有似曾相识的感觉,ACE_Handle_Set_Iter和它的名字一样,它就是一个Iterator,你可以对指定Set迭代。

ACE::select是最大的意义是跨平台, 同时它是操作上述set和set_iterator的。使用上它和select一样。

复习select对理解、学习ace::select非常有用。

相关文章推荐

ACE_Reactor(三)ACE_Select_Reactor_T

源码可以到http://www.aoc.nrao.edu/php/tjuerges/ALMA/ACE-5.5.2/html/ace/上去找. ACE_Select_Reactor_T主要是使用sel...

ACE_Select_Reactor 一 ——入门

ACE_Select_Reactor 1 ——入门     ACE Reactor 框架实现了Reactor模式,允许事件驱动的应用对源自许多不同事件源的事件做出反映,比如IO句柄,定时器,以及信号...

ACE的Select模型

虽然之前也在linux下写过select服务,但是用ACE还是第一次,把一些心得写下来。算是milestone吧。首先ACE相关库的下载安装我就不多废话,先说说程序的框架,该服务器分服务端和客户端。服...
  • Sakaue
  • Sakaue
  • 2013年08月15日 10:18
  • 1000

ACE_Select_Reactor

template int ACE_Select_Reactor_T::register_handler (ACE_Event_Handler *handler, ACE_Reactor_M...

ACE_Reactor(五)ACE_TP_Reactor和ACE_Select_Reactor的区别

在ACE_Select_Reactor_T的handle_events中,进去就会获取Token,调到ACE_Guard直至ACE_Token的share_acquire函数,会调用一个sleepHo...

Boost.Asio,libevent和ACE之间关于Socket编程的比较(★firecat推荐★)

文章来源:http://blog.163.com/miky_sun/blog/static/3369405201041753652505/ ACE是一个很成熟的中间件产品,为自适应通讯环境,但它过...

[原创]一点一滴学习网络游戏开发,第一章节:初步了解ACE和SOCKET

要说起Ace框架,它的跨平台性,效率还有开发的便捷使我选择Ace框架作为服务器端的首选。当然对于我坚持以C++为主的人来说,我就减少了学习和熟悉Java语言和类库。Java中有非常多适合做服务器端的开...

golang(4)使用beego + ace admin 开发后台系统 CRUD

1,关于ace adminace admin 是一个非常好的后台系统ui。 集成了很多的好东西。非常的方便开发后天系统,而且能很漂亮。 上面有一堆的例子。非常的漂亮。 http://ace.je...

阿里云学习二 - 云引擎ACE & 新浪SAE

第二篇,学习云引擎ACE,我还没看,不过我觉得ACE和新浪的SAE应该是一样的,只不过名称不同,或者实现方式不同,还有腾讯的云,百度的BAE,应该都和ACE比较相似。   认真看下文档再继续。。。...

阿里云产品 ECS、RDS、CDN、OCS、OSS、ACE、SLB介绍

主要使用的阿里云产品有:ECS、RDS、CDN、OCS 不常用的有OSS、ACE、SLB。      ECS:  本质就是一个服务器。运行在云上的一个服务器。主要作用是做运算的。跑各种程序的。   ...
  • whatday
  • whatday
  • 2016年02月11日 07:54
  • 4416
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对ACE select的考虑
举报原因:
原因补充:

(最多只允许输入30个字)