zoukankan      html  css  js  c++  java
  • mina

    很长时间对mina的实现非常好奇,这两天不太忙,把源代码认真看了下,基本上搞清楚了,记一下备忘,顺便说一下网上那么多阅读mina的sb,我不知道他们最终是弄懂了还是没懂,总之我看他们的大块文章总是没有看代码来的快来的直接。

    1. acceptor runnable in pollingimpl

      负责接受请求,随后转给processor。

      pollingimpl有一个selector,一个线程池,一个SimpleProcessorPool(这个pool中有cpu+1那么多processor,他们共用另一个线程池,每一个都有自己的selector)

    2. processor runnable in pollingimpl

      负责读写,服务器端和客户端重用它。

      它是上边那个池子中的一员,1接受后创建session并扔给了2

    3. connector runnable in pollingimpl

      调用socketchannel.connect后如果返回true,创建session并扔给2;否则注册到selector,被1接受后再扔给2。

      一个selector,一个线程池,一个SimpleProcessorPool

    这是内部的框架实现。剩下用户需要定义的就是filter和handler了。还有一些config,sessiondictionaryfactory,等等,你可以忽略。

  • 相关阅读:
    JS数组及操作方法,堆和栈的概念
    JS变量作用域,浏览器预解析
    JS函数的基本概念
    JS循环语句
    JS程序三大结构及语法语句
    src与href
    JS概念及基本语法
    图片整合技术
    hdu6395 Sequence(分段矩阵快速幂)
    hdu6396 Swordsman(贪心)
  • 原文地址:https://www.cnblogs.com/jvava/p/3685917.html
Copyright © 2011-2022 走看看