[size=medium]在这里主要分析IoAcceptor 和 IoProcessor。
IoAcceptor比较简单,它的核心代码都在AbstractPollingAccetor里,轮询代码在它的内部类Accetpor里的run方法里。请看下面的UML图:
[img]http://dl.iteye.com/upload/attachment/431442/1215d369-28df-3d34-9109-36f26b8ac381.jpg[/img]
IoProcessor比较复杂,它的主要代码是在AbstractPollingProcessor里的,轮询代码在它的内部类Processor里的run方法实现。值得注意的是,IoAcceptor所持有的IoProcessor引用,事实上是一个对象池。对象池负责调度某个Processor来处理请求。下面是UML类图
[img]http://dl.iteye.com/upload/attachment/431448/bf8f6727-3b47-3560-89d9-19cb115a9db5.jpg[/img]
[/size]
IoAcceptor比较简单,它的核心代码都在AbstractPollingAccetor里,轮询代码在它的内部类Accetpor里的run方法里。请看下面的UML图:
[img]http://dl.iteye.com/upload/attachment/431442/1215d369-28df-3d34-9109-36f26b8ac381.jpg[/img]
IoProcessor比较复杂,它的主要代码是在AbstractPollingProcessor里的,轮询代码在它的内部类Processor里的run方法实现。值得注意的是,IoAcceptor所持有的IoProcessor引用,事实上是一个对象池。对象池负责调度某个Processor来处理请求。下面是UML类图
[img]http://dl.iteye.com/upload/attachment/431448/bf8f6727-3b47-3560-89d9-19cb115a9db5.jpg[/img]
[/size]