美文网首页
Reactor 与Proactor

Reactor 与Proactor

作者: HelloArmin | 来源:发表于2017-03-23 01:05 被阅读254次

按照posix标准,系统io分为同步io和异步io两种,其中同步io常用的是bio nio。异步io有aio。

从程序的角度来看,bio在读和写的时候,会阻塞,只有当程序将流写入操作系统或者读到流后,阻塞才会结束,线程接着run下去。

而nio和aio属于非阻塞方式,他们都是基于事件驱动思想,但是nio采用的是reactor 模式,而aio采用的是proactor模式。

Reactor 模式使用event loop 阻塞等在io上,一但io可以读或写,通过分发器,遍历事件注册队列,将事件分发到指定注册的处理器。由应用的处理器来再将流读取到缓冲区或写入操作系统,完成io操作。

Proctor 模式下读和写的方法是异步的,只需调用读和写即可。当有流可读取的时候,操作系统会将流传入read方法缓存区,并通知应用程序。对于写,当操作系统将writer 写入完毕时,操作系统会主动通知应用程序。

proactor模式的Aio,流的读取和写入由操作系统完成,省去了遍历事件通知队列selector 的代价。

Windows上的iocp实现了aio,linux目前只有基于epoll模拟实现的aio。

相关文章

  • Reactor 模式

    【未完待续】 参考 两种高效的服务器设计模型:Reactor和Proactor模型reactor和proactor...

  • Reactor 与Proactor

    按照posix标准,系统io分为同步io和异步io两种,其中同步io常用的是bio nio。异步io有aio。 从...

  • Reactor与Proactor

    (本文是站在Java角度讲述这两个模型,所以只谈线程)。在介绍这两种模型之前先介绍一下在I/O场景下同步、异步、阻...

  • Netty浅析

    IO模型 IO多路复用模式:Reactor、Proactor NIO实现的是Reactor模式。通过select、...

  • actor、reactor与proactor模型

    actor、reactor与proactor模型:高性能服务器的几种模型概念。 actor模型: 实体之通过消息通...

  • actor reactor proactor模型

    actor、reactor与proactor模型:高性能服务器的几种模型概念。 actor模型: 实体之通过消息通...

  • Reactor和Proactor对比

    常见的IO事件处理模型有两种:Reactor和Proactor。Redis中的ae就是采用的Reactor事件处理...

  • IO模式:Reactor与Proactor

    1. Reactor Reactor(反应器)的设计是一种事件驱动思想,比如Java NIO中,socket过来时...

  • Reactor/Proactor模式

    Reactor(反应器)/Proactor(前摄器)是多路复用方案之一,有点像观察者模式,都是通过注册然后等待通知...

  • 彻底搞懂Reactor模型和Proactor模型

    在高性能的I/O设计中,有两个著名的模型:Reactor模型和Proactor模型,其中Reactor模型用于同步...

网友评论

      本文标题:Reactor 与Proactor

      本文链接:https://www.haomeiwen.com/subject/hjaanttx.html