摘要: linux内核 在比如管道通信、socket通信也好 其实会产生很多事件;缓冲区满,缓冲区空,缓冲区非空,缓冲区非满等四个场景; 上述场景 其实都是阻塞IO;阻塞IO一个线程只能处理一个IO流事件,效率相对不高,如果有多个事件,以串行思路处理;非阻塞IO意思是 当一个事件还没数据时,可以去处理其他IO事件于是有了select,poll 机制,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有I/O事件时,就从阻塞态中醒来,于是我们的程序就会轮询一遍所有的流;因为不知道具体是哪个流可读或可写;而Epoll可以让我们知道具体是哪个流 可读或可写 复杂度变O(1) 阅读全文
posted @ 2020-11-10 11:43 陶朱公Boy 阅读(127) 评论(0) 推荐(0) 编辑