
ACE
文章平均质量分 83
ysu108
这个作者很懒,什么都没留下…
展开
-
ACE学习(六)ACE_Condition
ACE_Condition 1.与POSIX下pthread_cond_wait()类似 /** * @class ACE_Condition * * @brief ACE_Condition variable wrapper, which allows threads to block * until shared data changes state.原创 2013-06-09 09:56:58 · 3287 阅读 · 0 评论 -
WINDOWS平台下使用ACE框架的异步串口操作
利用ACE当中的包装类进行串口操作在ACE目录下的examples/IPC_SAP/DEV_SAP有例子做详细介绍。但是这里的例子是阻塞模式的。于是我试图使用ACE当中的一些框架来做一个异步的串口操作。 ACE当中可以使用的异步操作框架有Reactor和Proactor等。Reactor采用Bridge模式有多个实现,在Windows下面默认的实现是ACE_WFMO_Reacto转载 2013-07-02 09:42:30 · 1432 阅读 · 0 评论 -
Proactor和Reactor模式_继续并发系统设计的扫盲
Proactor和Reactor模式_继续并发系统设计的扫盲6.6.2008Kevin LynxProactor和Reactor都是并发编程中的设计模式。在我看来,他们都是用于派发/分离IO操作事件的。这里所谓的IO事件也就是诸如read/write的IO操作。"派发/分离"就是将单独的IO事件通知到上层模块。两个模式不同的地方在于,Proactor用于异步IO,而转载 2013-06-26 11:02:55 · 1175 阅读 · 0 评论 -
高性能I/O设计模式Reactor和Proactor
原文为:http://blog.youkuaiyun.com/roger_77/article/details/1555170昨天购买了《程序员》杂志 2007.4期,第一时间去翻阅了一遍,其中有一篇《两种高性能I/O设计模式的比较》令人眼睛一亮,这是一篇译文,偶最近在一直想认真看看这方面的文章很久了。文章主要是讲到了系统I/O方式可分为阻塞,非阻塞同步和非阻塞异步三类,三种方式中,非阻塞异步转载 2013-06-24 18:54:01 · 1200 阅读 · 0 评论 -
ACE中的Proactor和Reactor
ACE中的Proactor和ReactorACE_Select_Reactor是除Windows之外所有平台使用的默认反应器实现,在这些系统上最终会用select()系统函数进行等待。在Windows上ACE_WFMO_Reactor是默认的反应器实现。该实现没有使用select()多路分离器,而是使用了WaitForMultipleObjects()。在使用ACE_WFM原创 2013-07-08 19:24:45 · 3551 阅读 · 0 评论 -
ACE下串口编程
ACE下串口编程首先看下相关的类,在ACE下使用非常简单,后面是ACE自带的一个列子。/** * @class ACE_TTY_IO * * @brief Class definitions for platform specific TTY features. * * This class represents an example interface for a specific原创 2013-07-08 19:33:17 · 2565 阅读 · 0 评论 -
ACE学习(十)前摄器模式
前摄器模式1.前摄器的原理前摄器模式是充分使用了操作系统的支持异步I/O的特性,使用异步来代替多线程并发,因为多线程并发会带来很多性能的开销(创建、切换、同步等),而异步像更加底层的操作系统操作,性能是相对较高(为什么?待补充) 2.前摄器的优点“与传统的反应式或同步式I/O模型不同,前摄式模型允许每个应用线程同时发起多个操作。这一设计允许单线程化应用并发地执行多个I/原创 2013-06-21 16:55:04 · 3612 阅读 · 0 评论 -
ACE学习(九)ACE_Timer_Queue
下面为一个主动定时器,ACE程序员指南上的例子,存储定时器的结构为heap,用法很简单,回调机制使用的为ACE_Event_Handler,关键接口就是timer_queue的schedule,第一个为回调对象的引用(继承了ACE_Event_Handler类,会回到其中的handle_timeout方法),其中schedule方法的第二和第三个参数也会传给第一个回调对象的handle_timeo原创 2013-06-18 10:24:59 · 3906 阅读 · 0 评论 -
ACE学习(七)ACE_Message_Queue
ACE_Message_Queue 消息队列的使用已经在前面的ACE_Semaphore中使用到了,其中使用的就是它的典型用法。ACE_Message_Queue/** * @class ACE_Message_Queue * * @brief A message queueing facility with parameterized synchronization原创 2013-06-09 14:10:15 · 5750 阅读 · 0 评论 -
ACE学习(二)原子操作与ACE_Atomic_Op
首先简单看下这个类的使用,使用很简单,就是定义了一种增减操作为原子操作的类型。下面是实例代码,为ACE6.0自带的examples里面的代码,实现了生产者消费者这个经典的模型。#include "ace/Synch.h"#include "ace/Task.h"#include "ace/Log_Msg.h"#include "ace/Atomic_Op.h"#if def原创 2013-06-08 11:14:40 · 4083 阅读 · 0 评论 -
ACE学习(一)体系结构
ACE (Adaptive Communication Environment) 是一种广泛使用的主机基础设施中间件。ACE库包含24w行c++代码,500个类,ACE简化了网络应用程序的创建、组成、配置和移植,而且不会导致性能的显著开销。 ACE软件包的基础是ACE OS Adaptation层和C++ wrapper facades的结合,它封装了核心OS并发网络编程机制。ACE的较原创 2013-05-20 19:30:40 · 8900 阅读 · 0 评论 -
ACE的陷阱
ACE的陷阱坦白说,使用这个标题无非是希望能够吸引你的眼球,这篇文章的目的仅仅是为了揭示一些ACE缺陷的。文章适合的读者是对ACE(ADAPTIVE Communication Environment)有一定研究,或者正在使用ACE从事项目开发的人士参考。如果你对C++还是新手,甚至包括ACE知识初学者,(但你想飞的更高),建议你收藏这篇文档以后阅读。秉承陷阱系列文章的传统转载 2013-06-07 14:14:02 · 2052 阅读 · 0 评论 -
ACE学习(四)ACE_Recursive_Thread_Mutex与ACE_RW_Thread_Mutex
ACE_Recursive_Thread_Mutex与ACE_RW_Thread_Mutex1.不同平台使用有差异性/** * @class ACE_Thread_Mutex * * @brief ACE_Thread_Mutex wrapper (only valid for threads in the same * process). * * This i原创 2013-06-08 15:34:25 · 5626 阅读 · 0 评论 -
ACE学习(三)ACE_Event与ACE_Event_Handler
ACE_Event与ACE_Event_HandlerACE_Event首先看下ACE中关于ACE_Event的注释:A wrapper around the Win32 event locking mechanism. Portable implementation of an Event mechanism, which is native to Win32, but must原创 2013-06-08 14:50:28 · 6532 阅读 · 0 评论 -
ACE定时器
1) ACE_Thread_Timer_Queue_Adapter类的几个关键方法调度定时器方法原创 2014-06-21 14:28:50 · 2713 阅读 · 0 评论