- 博客(12)
- 资源 (2)
- 收藏
- 关注
转载 Proactor和Reactor模式_继续并发系统设计的扫盲
Proactor和Reactor模式_继续并发系统设计的扫盲6.6.2008Kevin LynxProactor和Reactor都是并发编程中的设计模式。在我看来,他们都是用于派发/分离IO操作事件的。这里所谓的IO事件也就是诸如read/write的IO操作。"派发/分离"就是将单独的IO事件通知到上层模块。两个模式不同的地方在于,Proactor用于异步IO,而
2013-06-26 11:02:55 1153
转载 高性能I/O设计模式Reactor和Proactor
原文为:http://blog.csdn.net/roger_77/article/details/1555170昨天购买了《程序员》杂志 2007.4期,第一时间去翻阅了一遍,其中有一篇《两种高性能I/O设计模式的比较》令人眼睛一亮,这是一篇译文,偶最近在一直想认真看看这方面的文章很久了。文章主要是讲到了系统I/O方式可分为阻塞,非阻塞同步和非阻塞异步三类,三种方式中,非阻塞异步
2013-06-24 18:54:01 1182
原创 ACE学习(十)前摄器模式
前摄器模式1.前摄器的原理前摄器模式是充分使用了操作系统的支持异步I/O的特性,使用异步来代替多线程并发,因为多线程并发会带来很多性能的开销(创建、切换、同步等),而异步像更加底层的操作系统操作,性能是相对较高(为什么?待补充) 2.前摄器的优点“与传统的反应式或同步式I/O模型不同,前摄式模型允许每个应用线程同时发起多个操作。这一设计允许单线程化应用并发地执行多个I/
2013-06-21 16:55:04 3573
原创 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 3864
原创 ACE学习(八)Reactor模式
http://dl.vmall.com/c0bda5pwb4Demo1#include "ace/Auto_Ptr.h"#include "ace/Log_Msg.h"#include "ace/INET_Addr.h"#include "ace/SOCK_Acceptor.h"#include "ace/Reactor.h"#include "ace/Message_
2013-06-14 16:24:40 2013
原创 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 5671
原创 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 3253
原创 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 5572
原创 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 6456
原创 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 4007
转载 ACE的陷阱
ACE的陷阱坦白说,使用这个标题无非是希望能够吸引你的眼球,这篇文章的目的仅仅是为了揭示一些ACE缺陷的。文章适合的读者是对ACE(ADAPTIVE Communication Environment)有一定研究,或者正在使用ACE从事项目开发的人士参考。如果你对C++还是新手,甚至包括ACE知识初学者,(但你想飞的更高),建议你收藏这篇文档以后阅读。秉承陷阱系列文章的传统
2013-06-07 14:14:02 2027
转载 容器使用经验总结
第1章容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map和hash_multi
2013-06-04 14:29:16 801
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人