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

  • 相关阅读:
    WPF Caliburn 学习笔记(五)HelloCaliburn
    MSDN 教程短片 WPF 20(绑定3ObjectDataProvider)
    MSDN 教程短片 WPF 23(3D动画)
    比赛总结一
    HDU3686 Traffic Real Time Query System
    HDU3954 Level up
    EOJ382 Match Maker
    UESTC1565 Smart Typist
    HDU3578 Greedy Tino
    ZOJ1975 The Sierpinski Fractal
  • 原文地址:https://www.cnblogs.com/jvava/p/3685917.html
Copyright © 2011-2022 走看看