对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-select2 前端框架 modal 兼容处理

chosen.jquery.min.js 文件中 style:"width: "+this.container_width()改成 style:"width: "+(this.container_w...
  • nddjava
  • nddjava
  • 2017年11月28日 12:01
  • 217

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...
  • chinaclock
  • chinaclock
  • 2015年10月19日 11:22
  • 1062

ACE_Select_Reactor 一 ——入门

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

Chosen:select下拉选择框美化插件及问题

Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的、很长的select选择框变的更好看、更方便。不仅如此,它更扩展了select,增加了自动筛选的功能。它可对列表进行分组,...
  • chenli522
  • chenli522
  • 2015年06月17日 13:36
  • 4812

ACE之反应堆学习(一)

 这是ACE反应堆的动态实现过程,其设计的架构分为以上几个框图,这里我结合源代码分析一下。(一)register_handler():1.用户程序:ACE_Reactor::instance ()->...
  • satanwxd
  • satanwxd
  • 2011年05月14日 14:43
  • 3591

Django中使用admin的多选widget插件FilteredSelectMultiple

Django 的自带后台admin中多于manytomany类型可以进行
  • lirui0081
  • lirui0081
  • 2014年09月23日 20:03
  • 3636

对ACE select的考虑

我在前面的代码里已经展示了使用传统select方式开发并发程序的简单流程和它的便利性。但是,和传统的CApis一样,它也有不方便和不安全的地方。首先fd_set是一个结构,靠着几个外部方法调整内部数据...
  • win2ks
  • win2ks
  • 2007年09月27日 16:51
  • 2100

ACE_Select_Reactor

template int ACE_Select_Reactor_T::register_handler (ACE_Event_Handler *handler, ACE_Reactor_M...
  • youfangyuan
  • youfangyuan
  • 2012年04月17日 00:18
  • 1172

ACE_Reactor(五)ACE_TP_Reactor和ACE_Select_Reactor的区别

在ACE_Select_Reactor_T的handle_events中,进去就会获取Token,调到ACE_Guard直至ACE_Token的share_acquire函数,会调用一个sleepHo...
  • chinaclock
  • chinaclock
  • 2015年10月19日 11:25
  • 1302

[ACE程序员教程笔记]使用ACE_Connector连接服务器

与ACE_Acceptor相同,它实现的是连接与数据处理的分离。同样也是继承于ACE_Svc_Handler类,当连接成功后,Reactor会自动的回调open方法,注意本例中的SvcHandle与A...
  • maxcode
  • maxcode
  • 2011年01月10日 11:04
  • 3470
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对ACE select的考虑
举报原因:
原因补充:

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