epoll学习

Posted 思而不学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了epoll学习相关的知识,希望对你有一定的参考价值。

一、epoll_create

#include <sys/epoll.h>

int epoll_create(int size);
int epoll_create1(int flags);
返回:成功非负文件描述符,-1出错
size:内核监听数目一共多大

创建一个epoll接口,size参数和select不同,不是fd+1?

需要注意的是:当创建好epoll后,它就会占用一个fd值,在linux /proc/id/fd/能看到这个fd的,所以使用完epoll后,必须close()关闭,否则可能导致耗尽fd。

 

二、epoll_ctl

#include <sys/epoll.h>

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
返回:0成功,-1失败
epfd:
op:
fd:
event:

 

三、epoll_wait

#include <sys/epoll.h>

int epoll_wait(int epfd, struct epoll_event *events,
        int maxevents, int timeout);

int epoll_pwait(int epfd, struct epoll_event *events,
        int maxevents, int timeout, const sigset_t *sigmask);

 

以上是关于epoll学习的主要内容,如果未能解决你的问题,请参考以下文章

epol学习笔记

epoll学习

epoll多路复用机制的学习

epoll学习

Linux & IO多路转接——epoll详解

Linux & IO多路转接——epoll详解