# Java NIO中IO事件的处理流程和反应器模式的基础内容。
一个IO事件从操作系统底层产生后,在Reactor反应器模式中的处理流程如图6-1所示。
![](http://blog.liufei1988.com/774dba954fcaafc187a06eb73d2a44e2)
**整个流程大致分为4步,具体如下:**
1. 第1步:通道注册。IO源于通道(Channel)。IO是和通道(对应于底层连接而言)强相关的。一个IO事件,一定属于某个通道。但是,如果要查询通道的事件,首先要将通道注册到选择器。只需通道提前注册到Selector选择器即可,IO事件会被选择器查询到。
2. 第2步:查询选择。在反应器模式中,一个反应器(或者SubReactor子反应器)会负责一个线程;不断地轮询,查询选择器中的IO事件(选择键)。
3. 第3步:事件分发。如果查询到IO事件,则分发给与IO事件有绑定关系的Handler业务处理器。
4. 第4步:完成真正的IO操作和业务处理,这一步由Handler业务处理器负责。
以上4步,就是整个反应器模式的IO处理器流程。其中,第1步和第2步,其实是Java NIO的功能,反应器模式仅仅是利用了Java NIO的优势而已。