
网络编程
你好啊zhangxiaojia
站务
展开
-
select、poll、epoll详解
https://www.cnblogs.com/lojunren/p/3856290.htmlhttps://blog.youkuaiyun.com/davidsguo008/article/details/73556811https://segmentfault.com/a/1190000003063859原创 2019-08-20 21:48:27 · 125 阅读 · 0 评论 -
I/O事件
I/O事件最近在研究tornado和gevent,里面涉及了非阻塞I/O。在了解非阻塞I/O之前,需要先了解I/O事件我们知道,内核有缓冲区。假设有两个进程A,B,进程B想读进程A写入的东西(即进程A做写操作,B做读操作)。进程A需要先写入到内核缓冲区中,然后B从内核缓冲区中读取,如图:进程B会监听内核缓冲区的变化I/O事件的阻塞与同步当内核缓冲区为空的时候,进程B会阻塞住...转载 2019-08-17 10:36:48 · 2260 阅读 · 1 评论 -
select、poll、epoll之间的区别(搜狗面试)
(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,...转载 2019-08-17 11:11:43 · 128 阅读 · 0 评论