MINA网络框架

来源:互联网 发布:直线裁剪算法代码 编辑:程序博客网 时间:2024/06/11 01:54

      网络模型

       MINA的框架采用了multiple reactors的reactor pattern。mainRector负责acceptor建立新的连接,并把新的连接分配到subRector。在源代码中,acceptor或者mainRector对应于类NioSocketAcceptor,subRector对应类NioProcessor。


图1


      MINA的实现

       mainRector、subRector各有一个线程池来执行。由于每个rector都会阻塞在Select.select()上面,因此也可以说每个mainRector、subRector对应一个线程。MINA中,mainRector只有一个,默认情况下subRector个数为CPU的个数+1,并且动态生成。mainRector通过轮询的方式为一个新的连接选择一个subRector。

       同时,MINA将IO事件分成六类,可以针对某些IO事件配置相关的线程池进行并发处理。

图2

图片1来源:http://hi.csdn.net/attachment/201106/16/0_1308200578W18r.gif

图片2来源:http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
原创粉丝点击