epoll 使用详解--epoll_create

epoll

  提供的api和poll类似:同时监控多个文件描述符的事件变化。同时epoll可以被设置为水平触发或者边缘触发。(这两种触发的区别后面会详细的讲解)。从用户空间去理解,可以将一个epoll实例看做,内核中创建了两个队列,一个等待队列和一个就绪队列。

头文件包含:

#include <sys/epoll.h>

epoll API

创建epoll:

1
2
int epoll_create(int size);
int epoll_create1(int flags);


  这两个接口都是创建一个epoll实例,成功返回对应的描述符,失败返回-1。此文件描述符用于所有对epoll接口,的后续调用。文件在不再需要使用的时候,应该使用close关闭。当所有文件描述符引用到一个epoll实例已经关闭,内核销毁实例,并释放相关资源以供重用。

  这两个接口功能稍有不同,epoll_create 的参数size表示是要指定这个epoll实例可以监控的最大的套接字个数,但是在 Linux 2.6.8 内核版本以后,这个参数内核已经不再处理了(就是没有限制了),但是必须要大于1。

posted @   核心已转储  阅读(776)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示