
ACE
文章平均质量分 91
ACE
zzhongcy
因为站在了巨人的肩上,所以我看得更远。
当你发现自己的才华撑不起野心时,就请安静下来学习吧
展开
-
ACE_Singleton简介
1. Singleton模式简介Singleton是GOF圣经中最简单的一个模式了,主要用于创建在系统中具有唯一实例又需要到处使用的类,实现起来非常简单。#include using namespace std; class my_singleton{public: static my_singleton *in转载 2014-11-22 14:13:39 · 2601 阅读 · 1 评论 -
ACE 的ACE_Sig_Action/ACE_Sig_Handler/ACE_Sig_Guard 和 SIGSEGV屏蔽
1、 ACE_Sig_ActionACE_Sig_Action是对POSIX sigaction()调用进行封装的封装类。使用ACE_Sig_Action类,只能为一个信号设置一个回调函数。由于回调函数是在信号中断处理上下文中,绝不要在回调函数中做耗时工作。如果有耗时工作要做,我们可以使用ACE_Reactor的通知机制,让耗时工作转会普通的执行上下文去做。ACE_Sig_Ac原创 2015-01-10 15:49:05 · 2162 阅读 · 0 评论 -
ace 实现的线程池,可以用ACE_Task_Base,ACE_Task,ACE_Svc_Handler作为工作者
头文件 1#include ace/Thread_Mutex.h> 2#include ace/Guard_T.h> 3#include ace/Svc_Handler.h> 4#include ace/Condition_T.h> 5#include ace/Atomic_Op.h> 6 7#include queue> 8 9// ---------转载 2014-12-04 09:23:47 · 1780 阅读 · 0 评论 -
ACE_Task(任务)
任务和主动对象(Active Object): 并发编程模式 - ACE程序员教程2008-12-07 13:525.2 ACE_Task(任务)每个ACE_Task对象都包含一个或多个线程和一个底层的消息队列.任务之间可以是通过这些消息队列进行通信. (用putq()来插入用getq()来提取.)它做好了框架. 我们只要在派生的实际任务类中提供那些用以回调的模板方法就转载 2014-11-22 15:55:47 · 1851 阅读 · 0 评论 -
ACE 任务ACE_Task间通信
如前面所提到的,ACE 中的每个任务都有一个底层消息队列(参见上面的图示)。这个消息队列被用作任务间通信的一种方法。当一个任务想要与另一任务“谈话”时,它创建一个消息,并将此消息放入它想要与之谈话的任务的消息队列。接收任务通常用 getq()从消息队列里获取消息。如果队列中没有数据可用,它就进入休眠状态。如果有其他任务将消息插入它的队列,它就会苏醒过来,从队列中拾取数据并处理它。因转载 2014-11-22 14:56:46 · 1080 阅读 · 0 评论 -
ACE线程管理机制
ACE Lock类属锁类属包含的类包装简单的锁定机制,比如互斥体、信号量、读/写互斥体和令牌等。这里我就以互斥体为例简单的介绍一下其使用方法,对其它的锁类进行一些简单的说明。1.互斥体的使用。互斥体用于保护共享的易变代码,也就是全局或静态数据。这样的数据必须通过互斥体进行保护,以防止它们在多个线程同时访问时损坏。在ACE中可以通过ACE_Thread_Mutex实现线程的访问互转载 2014-11-22 14:04:58 · 1282 阅读 · 0 评论 -
ACE_Message_Block功能简介
ACE_Message_Block在Ace中用来表示消息的存放空间,可用做网络通信中的消息缓冲区,使用非常频繁,下面将在如下方简单的介绍一下ACE_Message_Block相关功能。创建消息块释放消息块从消息块中读写数据数据的拷贝其它常用函数一、创建消息块创建消息块的方式比较灵活,常用的有以下几种方式 :1. 直接给消息块分配内存空间创建。转载 2014-11-22 14:06:56 · 754 阅读 · 0 评论 -
ACE_Task框架 与Windows 消息循环对比
最近接触 在我看来,ACE的ACE_Task框架提供了一种基于消息的编程模式,可以Windows编程的消息循环进行类比。 ACE_TaskWindows 消息循环说明消息类型ACE_Message_Block*MSGWindows消息用MSG结构表示,ACE_Task中因为不能预计各种应用中消息的类型,所以ACE_Me转载 2014-11-22 11:26:54 · 1563 阅读 · 0 评论 -
ACE 的Reactor/Proactor框架下高并发、大容量吞吐介绍
最近接触力ACE,发现了很多好文章,在此转载一下,也当作一个笔记吧。Reactor与 Proactor基本概念在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻转载 2014-11-22 11:59:32 · 4031 阅读 · 0 评论 -
使用 ACE 库框架在 UNIX 中开发高性能并发应用
ACE 开放源码工具包可以帮助开发人员创建健壮的可移植多线程应用程序。本文讨论创建使用 ACE 线程的应用程序的一些方法。Adaptive Communication Environment (ACE) 是一个高性能、开放源码、面向对象的框架和 C++ 类库,它有助于简化网络应用程序的开发。ACE 工具包包括一个操作系统层和一个封装网络 API 的 C++ 外观(facades)集合。本文讨论转载 2014-11-22 15:41:06 · 782 阅读 · 0 评论 -
ACE反应器框架引用计数策略的使用
先前遇到一个问题,程序总是crash,最后发现原来是没有使用反应器框架的引用计数策略造成的.现将这个问题以及解决方法总结如下:当时遇到的情况是,在handle_output的send_n时有时候会出现Timer expired(长时间断开网络会出现这种情况的错误,导致程序异常退出.//源码如下int gkClient::handle_output (ACE_HANDLE){转载 2015-01-12 14:41:26 · 930 阅读 · 0 评论