[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]
本文详细解析了IoAcceptor和IoProcessor的工作原理及其实现细节。IoAcceptor通过AbstractPollingAcceptor进行轮询操作,而IoProcessor则通过AbstractPollingProcessor处理请求。IoAcceptor维护了一个对象池来调度IoProcessor。
914

被折叠的 条评论
为什么被折叠?



