epoll_create详解
epoll_create,打开一个epoll文件描述符。
#include <sys / epoll.h>nfd = epoll_creat(max_size);
epoll_create()创建一个epoll实例。其中nfd为epoll句柄,参数max_size标识这个监听的数目最大有多大,从Linux 2.6.8开始,max_size参数将被忽略,但必须大于零。epoll_create()返回引用新epoll实例的文件描述符。该文件描述符用于随后的所有对epoll的调用接口。每创建一个epoll句柄,会占用一个fd,因此当不再需要时,应使用close关闭epoll_create()返回的文件描述符,否则可能导致fd被耗尽。当所有文件描述符引用已关闭的epoll实例,内核将销毁该实例并释放关联的资源以供重用。
返回值:
成功时,这些系统调用将返回非负文件描述符。如果出错,则返回-1,并且将errno设置为指示错误。
错误errno:
EINVAL大小不为正。
EMFILE遇到了每个用户对/ proc / sys / fs / epoll / max_user_instances施加的epoll实例数量的限制。
ENFILE已达到打开文件总数的系统限制。
ENOMEM没有足够的内存来创建内核对象。
注意:在最初的epoll_create()实现中,size参数将调用者希望添加到的文件描述符的数量告知内核。epoll实例。内核使用该信息作为内部数据结构初始分配空间的提示,事件。 (如果有必要,如果调用方的使用超出了大小提示,内核将分配更多空间。)如今,此提示不再必需(内核无需提示即可动态调整所需数据结构的大小),但是大小必须仍大于零,以便当新的epoll应用程序在较旧的内核上运行时,请确保向后兼容。
epoll_create详解相关推荐
- epoll详解【epoll_create】【epoll_ctl】【epoll_wait】
文章目录 0 - 前言 1 - epoll接口 epoll_create epoll_ctl epoll_wait 0 - 前言 参考:epoll机制:epoll_create.epoll_ctl.e ...
- winform 让他间隔一段时间 执行事件 且只执行一次_Redis 事件机制详解
点击上方"程序员历小冰",选择"置顶或者星标" 你的关注意义重大! Redis 采用事件驱动机制来处理大量的网络IO.它并没有使用 libevent 或者 li ...
- Linux下的I/O复用与epoll详解
前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术.尽管 ...
- linux epoll事件模型详解
一.介绍 epoll是Linux(内核版本2.6及以上支持)下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件 ...
- Python中的select、epoll详解
Python中的select.epoll详解 文章目录 Python中的select.epoll详解 一.select 1.相关概念 2.select的特性 1.那么单进程是如何实现多并发的呢??? ...
- linux网络编程--select/poll/epoll 详解
目录 参考链接 epoll函数 close epoll event EL/LT ET Edge Trigger 边沿触发工作模式 LT Level Trigger 水平触发工作模式 epoll 源码解 ...
- (转载) Linux IO模式及 select、poll、epoll详解
注:本文是对众多博客的学习和总结,可能存在理解错误.请带着怀疑的眼光,同时如果有错误希望能指出. 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案 ...
- Linux惊群效应详解(最详细的了吧)
https://blog.csdn.net/lyztyycode/article/details/78648798?locationNum=6&fps=1 linux惊群效应 详细的介绍什么是 ...
- Linux IO模式及 select、poll、epoll详解
https://segmentfault.com/a/1190000003063859 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的. ...
最新文章
- docker 容器数据备份
- mysql jdbc简介_JDBC简介
- Xamarin iOS教程之编辑界面编写代码
- leetcode算法题--等差数列划分
- 一个不错的shell 脚本入门教程
- 02-java常量变量数据类型
- 【Java注解】自定义注解、与数据库结合使用
- 推荐一个可交互的 Attention 可视化工具!我的Transformer可解释性有救啦?
- 当你已经23~男生女生都该看
- c++文件内容与输入内容进行比较_使用位运算对数据或文件内容进行加密
- python找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法
- flash我中学时的梦想
- 关于Javascript, php的web公开课笔记
- 双层pdf软件free_如何一键下载网上文档以及pdf
- 08-新闻发布系统数据库-新闻类别数据操作
- UNICODE,GBK,UTF-8区别
- Android渠道推广方案相关知识收集
- git原理学习记录:从基本指令到背后原理,实现一个简单的git
- kotlin读取文件算法
- Struts2 常用标签使用(三十九)
热门文章
- m文件关联matlab,matlab关联m文件
- Ubuntu16.04下Qt交叉编译开发环境搭建
- hiho一下 第三周---KMP算法
- 【苹果推iMessage】软件安装命令打开工程: open ios/AwesomeProject.xcodeproj
- 降本增收 相约Q4 |衡石九月头条
- css动画结束闪烁,CSS秘密花园: 闪烁动画
- 精选文章:人生第一辆车购车八大流程及提车注意事项之最强攻略
- 3.2 搞懂小红书算法运营逻辑,只需要5分钟【玩赚小红书】
- 一套自动化无纸办公系统(OA+审批流)源码:带数据字典
- [linux工具] tcpdump丢包问题