+-+-+ +-+ +-+-+-+-+
|G|O| |4| |H|I|V|E|
+-+-+ +-+ +-+-+-+-+

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

Reactor Pattern 介绍

BY: @cifer | CREATED: Nov. 16, 2020, 11:06 a.m. | VOTES: 6 | PAYOUT: $0.00 | [ VOTE ]

上世纪末 C10K 问题被提出来后, 各种程序设计模式被提出来解决这个问题. Reactor Pattern 是其中一个.

Reactor Pattern 由 ... 在其论文 ... 中提出, 它以同步的方式侦听多个事件源已经处理这些事件源的方式. Reactor Pattern 包含如下几个组件:

• Handles - 这是同步侦听器所侦听的事件源集合, 对应的可能是文件描述符, 定时器, 同步对象等
• Synchronous Event Demultiplexer - 同步侦听器, 会阻塞在所有的 Handles 上, 只要有一个 Handle 可以被无阻塞的操作, 就会返回. 典型的如 Linux/Win32 平台的 select 系统调用.
• Initiation Dispatcher
• Event Handler

使用 Reactor Pattern 的网络库
• Interview
• ACE
• 陈硕的 Muduo

与事件驱动 (Event Driven) 的区别

可能我们听得比较多的是事件驱动模型而不是 Reactor 模式, 事件驱动模型实际上是很笼统的定义, 实现事件驱动的方式可以有很多, Reactor 模式以及后面要介绍的 Proactor 是实现事件驱动的两种主要方式.

参考
https://stackoverflow.com/questions/9138294/what-is-the-difference-between-event-driven-model-and-reactor-pattern

TAGS: [ #programming ] [ #cn-programming ]

Replies

NO REPLIES FOUND.

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>