
Netty
文章平均质量分 50
Simba_hua
学习是一种信仰
技术博客记录平时工作过程中遇到的一些问题和总结,部分摘抄自网络和学习视频,如果涉及到侵权请告知并删除。
展开
-
传统Socket IO与NIO的比较
传统Socket IO特点1、传统IO有两个阻塞点,一个是接收客户端的阻塞点,另外一个是客户连接后接收消息的阻塞点2、在单线程下,一个Server只能为一个客户端服务,其他客户端想连接服务端必须等待前一个客户端释放掉。3、在多线程下,一个Server可以为多个客户端服务,每来一个客户端就给客户端分配一个线程,这样消耗的资源太多,类比server是一个餐厅,一个线程就是一个服务员,每来一个客人就安排一原创 2017-02-05 17:25:24 · 2440 阅读 · 1 评论 -
Netty主要类关系
Netty作为NIO的优秀通讯框架,其功能强大,设计巧妙,内容复杂,接口和类繁多,下面将介绍几个比较重要的类和接口及之间的关系。 Channel:为通讯的载体 ChannelBuffer:用于装载消息的内容,包括读区,已读区和写区,通过类似指针去动态划分。 ChannelHandler:负责channel中的逻辑处理,相当于责任链中的一个链条。 ChannelPipeline:用于装Chann原创 2017-02-16 17:10:44 · 1376 阅读 · 0 评论 -
Netty3源码原理
1、老板和服务生都是一个selector,需要抽象出来,定义为类AbstractNioSelector,为一个虚类,是一个线程,老板服务类和服务生服务类都继承此类,此类需要定义 A、有执行任务的线程池Executor B、选择器Selector C、选择器状态标记,标记选择器是睡眠状态还是运行状态 AtomicBoolean D、任务队列,要有任务执行才有意义,ConcurrentLink原创 2017-02-10 18:48:07 · 782 阅读 · 0 评论