IT点滴

我不去想是否能够成功 既然选择了远方 便只顾风雨兼程
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

2013年5月13日

摘要: 线程池模式一般分为两种:L/F领导者与跟随者模式、HS/HA半同步/半异步模式。HS/HA半同步/半异步模式:分为三层,同步层、队列层、异步层,又称为生产者消费者模式,主线程处理I/O事件并解析然后再往队列丢数据,然后消费者读出数据进行应用逻辑处理;优点:简化编程将低层的异步I/O和高层同步应用服务分离,且没有降低低层服务性能。集中层间通信。缺点:需要线程间传输数据,因此而带来的动态内存分配,数据拷贝,语境切换带来开销。高层服务不可能从底层异步服务效率中获益。L/F领导者跟随者模式:在LF线程池中,线程可处在3种线程状态之一: leader、follower或processor。处于leade 阅读全文

posted @ 2013-05-13 09:35 Ady Lee 阅读(294) 评论(0) 推荐(0) 编辑

摘要: 1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个与事件分离器有关的模式是Reactor和Proactor。Reactor模式采用同步IO,而Proactor采用异步IO。在Reactor中,事件分离器负责等待文件描述符或socket为读写操作准备就绪,然后 阅读全文

posted @ 2013-05-13 09:24 Ady Lee 阅读(173) 评论(0) 推荐(0) 编辑

摘要: ACE将网络编程进行了模式化,以便你不必每次都重复相同的代码。网络编程需要处理的事情多括中断,并发,多线程等,程序格式相对固定,但是健壮的网络程序则相对复杂。为了处理这些情形,ACE内建了几个网络编程的模式。最基本的模式当然是直接使用sock进行单客户单服务器单线程的一对一模型,这种模式相对简单,也和ACE关系不大,但是这样编写的程序不能处理并发的情况,可用性很差或者说基本不具有可用性。最简单的处理并发但是却使用单线程的框架在ACE中称为Reactor框架,在这种框架下,Reactor扮演了协调员的角色,应用程序编制者需要首先写好各种各样的事件处理程序,然后在Reactor中进行登记,Reac 阅读全文

posted @ 2013-05-13 09:13 Ady Lee 阅读(259) 评论(0) 推荐(0) 编辑