flyonok

统计

留言簿(8)

ACE

book

boost

bsd

c study

c++

code download

codeblock

computer clound

Eclipse

embed system

erlang

ET++

gtk

ic card

java

KDE

libevent

linux

linux--MM

mysql

network education

one card

oracle

pcap relation

php

powerbuilder

python

QT

software config

software test

SQL server

UML

wireless

wxwidgets

陈宾

阅读排行榜

评论排行榜

浅谈ACE_Reactor模式

ACE_Reactor模式减轻了程序员对底层网络IO事件监视的负担,一般情况下程序员只要继承ACE_Event_Handler类,重写相关的接口处理函数,然后向ACE_Reactor的对象注册相关事件即可,事件的定义在ACE_Event_Handler类中有相关定义,我用的最多是ACCEPT_MASK、READ_MASK、WRITE_MASK。
不同的事件调用不同的接口。相关的类图如下:
reactor
一般情况下使用ACE_Reactor模式需要如下步骤:
1、继承ACE_Event_Handler,并重写感兴趣的接口函数,如handle_input,handle_output,handle_close等
2、生成ACE_Reactor实例,一般是一个线程一个,注意ACE_Reactor默认情况下不支持多线程,我经常通过instance函数获取唯一实例
3、生成第一步的事件处理对象实例,根据情况看是否使用new申请内存
4、通过ACE_Reactord的register_handle接口注册相关事件,相关事件的定义在ACE_Event_Handler类中有定义,我一般使用ACCEPT_MASK,READ_MASK,WRITE_MASK


posted on 2010-03-17 21:50 flyonok 阅读(1466) 评论(0)  编辑 收藏 引用 所属分类: ACE


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理