文档章节

Reactor模式和Proactor模式

QMonkey
 QMonkey
发布于 2014/06/17 21:31
字数 233
阅读 29
收藏 1
Reacor模式要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立刻将该事件通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作。读写数据,接受新的连接,以及处理客户请求均在工作线程中完成。


Proactor模式要求将所有I/O操作都交给主线程和内核来处理,工作线程仅仅负责业务逻辑。


同步I/O模拟Proactor模式的原理是:主线程执行数据读写操作,读写完成后,主线程向工作线程通知这一“完成时间”。那么从工作线程的角度来看,它们就直接获得了数据读写的结果,接下来要做的只是对读写的结果进行逻辑处理。

© 著作权归作者所有

共有 人打赏支持
QMonkey
粉丝 0
博文 8
码字总数 8066
作品 0
广州
网络编程:Reactor与Proactor的概念

1、标准定义 两种I/O多路复用模式:Reactor和Proactor 一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应...

欧阳俊文
2015/03/16
0
0
服务器高效I/O设计模式

前言 一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员...

满小茂
2016/04/13
5.8K
15
为何Boost的asio要使用proactor模式实现?

Linux下高性能的网络库中大多使用的Reactor 模式去实现,Boost Asio在Linux下用epoll和select去模拟proactor模式,影响了它的效率和实现复杂度, 看陈硕的自己的Linux下Reactor网络库和ASIO的性...

天下杰论
2014/12/08
0
0
关于Reactor和Proactor的差别

/ Author : Samson Date : 07/12/2015 Test platform: gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu) * Nginx version: * Nginx 1.6.2 * Nginx 1.......

技术mix呢
2017/12/06
0
0
服务器两种高效的事件处理模式

服务器通常要处理三类事件:IO事件、信号事件、定时事件。由此产生了两种事件处理模式: Reactor模式:同步IO模型通常用于实现Reactor模式 Proactor模式:异步IO模型用于实现Proactor模式 一...

翼动动空
2016/09/20
51
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

InvalidKeyException: Illegal key size

Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size 解决方案:去官方下载JCE无限制权限策略文件。 jdk 5: http://www.oracle.com/technetwork/j......

自由的开源
18分钟前
0
0
JAVA秒杀实现以及优化原理

秒杀与其他业务最大的区别在于:秒杀的瞬间, (1)系统的并发量会非常的大 (2)并发量大的同时,网络的流量也会瞬间变大。 关于(2),最常用的办法就是做页面静态化,也就是常说的前后端分...

小贱是个程序员
22分钟前
1
0
Spring Aop之Advisor解析

在上文Spring Aop之Target Source详解中,我们讲解了Spring是如何通过封装Target Source来达到对最终获取的目标bean进行封装的目的。其中我们讲解到,Spring Aop对目标bean进行代理是通过Ann...

爱宝贝丶
25分钟前
0
0
Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点

前言: 分享 Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点,文章有点长,但比较全面,阅读时间15分钟左右,干货满满。 一、HashMap的那些事 1.1、HashMap的实现原理 1.1.1、...

Java大蜗牛
50分钟前
2
0
nginx模块学习五 expires 浏览器缓存

缓存原理 语法 Syntax: expires [modified] time;expires epoch | max | off;Default: expires off;Context: http,server,location,if in location 例/etc/nginx/conf.d/default.con......

Romanceling
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部