现在位置: 首页 > poll
2017-06-14 11:21 工业·编程 ⁄ 共 1936字 暂无评论
I/O复用虽然可以同时监听多个文件描述符,但他本身是阻塞的。并且,当多个文件描述符同时就绪时,如果不采用额外的措施,程序就只能按顺序依次处理其中的每一个文件描述符,这样I/O复用看起来就像是串行的,要实现并法就需要用多进程或多线程实现。 select  poll  epoll  比较 1:事件集 select的参数没有将文件描述符单独与事件绑定,而是用文件描述符的集合fd_set中的每一位代表文件描述符,0/1代表事件是否发...
阅读全文
2017-05-31 11:11 工业·编程 ⁄ 共 1259字 暂无评论
应用层调用poll时,内核调用了sys_poll 在sys_poll中首先初始化,判断了nfds是超过struct file支持的最大的fd数(默认256),将传入的timeout时间转化为cpu时钟周期,并且调用了poll_initwait初始化了一个函数指针,用于操作系统异步回调的; 接下来,进行了一个while循环,从0到nfds给每一个struct pollfd对象开辟内存,是以链表节点poll_list大小开辟的(一个链表节点是一个page,链表节点中有struct pollfd结构),然后将用户空...
阅读全文