源码-netty
netty源码学习
搬砖使我快乐!
热爱技术,热爱生活.
展开
-
从多路复用到水平触发,边沿触发
读写操作步骤分为两步. 1.等待数据就绪 2.复制数据从内核空间到用户空间. 1.io种类 1.1.阻塞io. 应用程序调用socket.read()时,会阻塞,直到1,2两步完成 阻塞时,用户啥都干不了.因此出现了非阻塞io 1.2.非阻塞io 每次请求可以明确知道数据是否接续.但是问题点在于,每个读操作都要用户线程去不断去问.一个人去负责问不就ok了吗,每个用户把自己要问的东西告诉他,然后他去趟内核,过会回来告诉你们哪个文件可以读可以写了. 1.3.多路复用io 这里...原创 2020-12-04 16:33:50 · 167 阅读 · 0 评论 -
netty源码-学习整理
netty源码解析,感觉看源码最好可以自己画出来一个流程图,以后复习或者说面试都很有用. 我们知道netty是一个多reactor模型. 第一个reactor就是监听连接(boss),并且处理连接,讲channel的读写事件注册到 work 当读写事件就绪,就是怎么处理数据了,netty使用了pipeline.是一个处理链.不断对数据进行处理,例如过滤,反序列化.各种协议的解析,或者调用用户线程池进行业务处理等等.总之你可以添加任意多的handler.grpc其实也是基于此. ...原创 2020-11-27 00:45:58 · 200 阅读 · 0 评论