随笔分类 -  Network

摘要:同步和异步,阻塞和非阻塞是大家经常会听到的概念,但是它们是从不同维度来描述一件事情,常常很容易混为一谈。 ##1. 同步和异步 同步和异步描述的是消息通信的机制。 ###同步 当一个request发送出去以后,会得到一个response,这整个过程就是一个同步调用的过程。哪怕response为空,或 阅读全文
posted @ 2020-07-12 16:29 PinXiong 阅读(2726) 评论(0) 推荐(0)
摘要:常见的IO事件处理模型有两种:Reactor和Proactor。Redis中的ae就是采用的Reactor事件处理模型,Proactor需要操作系统的支持,目前暂时还没接触到相关的使用场景,主要是学习模型结构。 ###Reactor模型 Handler:用来标识一个文件描述符 Synchronous 阅读全文
posted @ 2020-07-12 13:40 PinXiong 阅读(1584) 评论(0) 推荐(0)
摘要:在深入理解select、poll和epoll之间的区别之前,首先要了解什么是IO多路复用模型。 ###IO多路复用 简单来说,IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备就绪,它就通知该进程去进行IO操作。 详细的描述可以参考IO模型。select、poll和epoll都是提供I/ 阅读全文
posted @ 2020-07-12 13:38 PinXiong 阅读(1245) 评论(0) 推荐(0)
摘要:##什么是IO 在Linux世界里,一切皆文件。文件就是一串二进制流,不管是socket、FIFO、管道还是终端,对我们来说一切都是文件,一切都是流。在信息交换的过程中,我们都是对这些流进行数据的收发操作,简称为I/O操作(Input and Output)。 计算机里的所有流都是通过文件描述符(F 阅读全文
posted @ 2020-07-12 13:37 PinXiong 阅读(349) 评论(0) 推荐(0)