网络
文章平均质量分 55
绝世好阿狸
这个作者很懒,什么都没留下…
展开
-
【网络IO模型(三)】Reactor 模式
/** * Reactor模式简述 * * Reactor负责轮询selector,将就绪事件分发给handler处理。 * handler大致有两种: * 1.acceptor:负责建连,建连后注册io handler; * 2.io handler:负责处理io读写事件; * * 所以Reactor模式是一种事件响应式模式。提前注册handler。selectionKey的作用是将handler与channel关联(注册事件时不能指定handler) * 当select返回就绪事.原创 2021-02-27 23:22:34 · 373 阅读 · 0 评论 -
【网络IO模型(一)】BIO vs NIO
先回顾下几个概念。 阻塞 vs 非阻塞:指的是调用者线程会不会被阻塞。BIO就是一种阻塞io,如果没有就绪,调用者线程会被阻塞挂起。而NIO是非阻塞的。 同步 vs 异步:指的是调用方式,同步调用可以理解为调用结果需要调用者主动获取,而异步调用则是使用回调/通知机制,将结果回调给调用者,调用者无需关心。 可以看到,二者是两个维度的概念,没有绑定关系。同步调用可以是阻塞的也可以是非阻塞的,比如BIO和NIO。异步调用通常是非阻塞的,比如AIO。 目前现状是BIO和NIO占绝大多数的场景,AIO却用的不原创 2021-02-27 15:13:23 · 232 阅读 · 1 评论 -
【网络IO模型(二)】Linux IO 模型
作为软件开发者特别是server开发,平时要面对大量的跨进程交互场景,各种跨进程调用。虽然现在的开发语言为我们提供了很好的封装,不用过度关心底层网络io的细节,但是作为开发者,还是要了解基本的原理。我们面对的是一个个黑盒,但是为了排查问题或者写出性能更好的程序,必须当成白盒来研究。 Linux IO 模型。看看到掘金上的一篇文章,做一个笔记吧。 https://juejin.cn/post/6892687008552976398 https://www.jianshu.com/p/486b0965c2原创 2021-02-27 15:48:10 · 161 阅读 · 0 评论