ACE
c_tianzi
这个作者很懒,什么都没留下…
展开
-
VS2010下配置ACE
1. 编译 ACE需要先编译,生成LIB和DLL库,又分为debug版本和release版本,在lib文件夹里。 使用的时候,各种头文件都在ace文件夹里,而不是在include文件夹里。2. 如何添加环境变量: 比如我的ACE_Wrappers在E盘,在环境变量的系统变量中,新建,变量名比如ACE6_DIR,变量值:E:\ACE_Wrappers原创 2013-08-18 07:08:54 · 1272 阅读 · 0 评论 -
ACE_Condition使用
学习ACE线程池时看到ACE_Conditon,还不知道原创 2014-08-16 17:16:38 · 2588 阅读 · 0 评论 -
转ACE_Svc_Handler
ACE_Event_Handler: 事件处理器,是ace中所有反应式事件处理器的基类。接口比如Handle_input,Handle_timeout,Handle_signal,Handle_close等。 ACE_Svc_Handler是ace的同步和反应式数据传输及服务处理机制的基础,ACE_Svc_Handler派生于ACE_Task,而ACE_Task派生于ACE_Eve转载 2014-05-05 00:50:06 · 2085 阅读 · 0 评论 -
ACE反应器(Reactor)2
看到ACE中反应器(Reactor) 用于事件多路分离和分派的体系结构模式 一章中说:在从反应器注销,以及handle_close()挂钩方法被调用时,该类将自己删除。但是,必须保证MyEventHandler总是动态分配的(即是从ACE_Event_Handler派生出的类一定是new出来的,而不是stack上临时变量或全局变量。),否则,全局内存堆可能会崩溃。确保类总是动态地创建的一种办法是转载 2014-03-22 01:58:39 · 888 阅读 · 0 评论 -
ACE守卫Guard类属
ACE中的守卫类是一种模板,它通过所需锁定机制的类型来参数化。 守卫类的对象定义一个代码块,在其上获取一个锁,在退出次代码块时,锁被自动释放(对象的构造器获取锁,析构器释放锁)。 ACE_Guard,ACE_Read_Guard,ACE_Write_Guard。#include "ace/Synch.h" ///sleep#include "a原创 2014-03-21 17:19:08 · 1866 阅读 · 0 评论 -
ACE事件处理器
下面的例子创建了两个具体事件处理器。第一个具体事件处理器My_Accept_Handler用于接受和建立从客户到来的连接。另一个事件处理器是My_Input_Handler,它用于在连接建立后对连接进行处理。因而,My_Accept_Handler接受连接,并将实际的处理委托给My_Input_Handler。#include "ace/Reactor.h"#include "ace/SOC转载 2013-12-13 02:00:40 · 1359 阅读 · 0 评论 -
反应堆模式ACE_Reactor类
ACE中的反应堆与若干内部和外部组件协同工作。其基本概念是反应堆构架检测事件的发生(通过在OS事件多路分离接口上进行侦听),并发出对预登记事件处理器(event handler)对象中的方法的“回调”(callback)。该方法由应用开发者实现,其中含有应用处理此事件的特定代码。于是用户(也就是,应用开发者)必须: 1.创建事件处理器,以处理他所感兴趣的某事件。转载 2013-12-10 00:20:48 · 1655 阅读 · 0 评论 -
ACE_Message_Block简单功能
ACE_Message_Block在Ace中用来表示消息的存放空间,可用做网络通信中的消息缓冲区,使用非常频繁,下面将在如下方简单的介绍一下ACE_Message_Block相关功能。创建消息块释放消息块从消息块中读写数据数据的拷贝其它常用函数1。创建消息块创建消息块的方式比较灵活,常用的有以下几种方式 :1。直接给消息块分配内存空间创建。 ACE_M转载 2013-11-27 00:34:50 · 924 阅读 · 0 评论 -
ACE线程之ACE_Thread_Mutex互斥锁
互斥体实现了互相排斥(mutual exclusion)同步的简单形式。互斥体禁止多个线程同时进入受保护的代码临界区(critical section)。因此,在任意时刻,只有一个线程被允许进入这样代码保护区。 任何线程在进入临界区之前,必须获取acquire与此区域相关的互斥体的所有权。如果已有另一线程拥有了临界区互斥体,其他线程就不能再进入其中。这些线程必须等待,知道当前的属主线程释原创 2013-11-10 00:09:36 · 3916 阅读 · 1 评论 -
ACE_Get_Opt参数解析类
#include #include #include using namespace std;void usage(){ cout << " 参数错误 " << endl; cout << " -h : 服务器IP" << endl; cout << " -p : 服务器端口" << endl; cout << " -d : 以调试模式运行" << endl;转载 2013-11-18 21:02:50 · 1092 阅读 · 0 评论 -
ACE_DLList双向链表
ACE内存分配宏: ACE_NEW ( P, C) ///使用构造器c分配内存,并把指针赋给p。在失败时,p被设置为0并执行return; ACE_NEW_RETURN ( P, C, R) ///使用构造器c分配内存,并把指针赋给p。在失败时,p被设置为0并执行return r; ACE_NEW_NORETURN ( P, C) ///使用构造器c原创 2013-09-08 22:12:09 · 1258 阅读 · 0 评论 -
ACE6测试之ACE_SOCK_Stream2
Connect_to_server()方法使用类型为 ACE_SOCK_Connector 的连接器(connector_)来主动地建立连接。连接的设置通过调用连接器 connector_上的 connect()方法来完成:传入的参数为我们想要连接的机器的地址 remote_addr_,以及用于在其中建立连接的空 ACE_SOCK_Stream client_stream_。 远地原创 2013-08-18 22:31:07 · 1176 阅读 · 0 评论 -
ACE6测试之ACE_SOCK_Stream
ACE中的流包装提供面向连接的通信。流数据传输包装类包括ACE_SOCK_Stream和ACE_LSOCK_Stream,连接建立类包括针对TCP/IP的ACE_SOCK_Connector和ACE_SOCK_Acceptor,以及针对UNIX域socket的ACE_LSOCK_Connector和ACE_LSOCK_Acceptor。 1.下面创建一个被动服务器,侦听到来的客户连原创 2013-08-18 22:23:09 · 2547 阅读 · 0 评论 -
单例模式2
Double Checked Locking模式:原创 2014-09-17 00:53:45 · 735 阅读 · 0 评论