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,等等,你可以忽略。

  • 相关阅读:
    数据规范化(normalization)
    《穷爸爸富爸爸》笔记
    期望,方差,协方差,相关系数,协方差矩阵,相关系数矩阵,以及numpy实现
    numpy array和mat的乘法
    matlab多图排列
    POJ 3463
    POJ 3463
    Poj2449 第k短路
    Poj2449 第k短路
    POJ 3013
  • 原文地址:https://www.cnblogs.com/jvava/p/3685917.html
Copyright © 2011-2022 走看看