1.1.2 Linux epoll详解
1. I/O多路复用
1.1 流
流:
一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。
不管是文件,还是套接字(Socket),还是管道(包括匿名和有名管道),我们都可以把他们看作流。
通过read,我们可以从流中读入数据;
通过write,我们可以往流写入数据。
以上面的流的定义为假设,我们需要从流中读数据,但此时,流中还没有数据,
(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来),
这时候该怎么办?
可以有下面两种办法处理:
> 阻塞:
阻塞是个什么概念呢?
比如某个时候你在等快递,但是你不知道快递什么时候过来,而且你没有别的事可以干(或者说接下来的事要等快递来了才能做);
那么你可以去睡觉了,因为你知道快递把货送来时一定会给你打个电话(假定一定能叫醒你)。
> 非阻塞忙轮询:
接着上面等快递的例子,如果用忙轮询的方法,那么你需要知道快递员的手机号,然后每分钟给他挂个电话:“你到了没?”
很明显一般人不会用第二种做法,不仅显很无脑,浪费话费不说,还占用了快递员大量的时间。
大部分程序也不会用第一种做法,因为第一种方法虽然简单,但是效率很低,因
1.1.2 Linux epoll详解相关推荐
- linux epoll详解
转: 原文作者:Rabbit_Dale,若遇侵权,请联系删帖,谢谢 原文地址:https://www.cnblogs.com/Anker/archive/2013/08/17/3263780.html ...
- linux : epoll详解
http://blog.chinaunix.net/uid-24517549-id-4051156.html
- (转载) Linux IO模式及 select、poll、epoll详解
注:本文是对众多博客的学习和总结,可能存在理解错误.请带着怀疑的眼光,同时如果有错误希望能指出. 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案 ...
- Linux IO模式及 select、poll、epoll详解
https://segmentfault.com/a/1190000003063859 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的. ...
- Linux IO复用区别与epoll详解
转载:http://blog.csdn.net/hacker00011000/article/details/52160590 一.select.poll.epoll之间的区别总结[整理] sele ...
- c if 判断select已经选择的值_「Linux」——select和epoll详解
select和epoll详解 select和epoll的区别(面试常考) select 一.什么是select 1.select函数原型 2.参数解释 3.参数timeout取值 4.返回值 5.监控 ...
- 聊聊IO多路复用之select、poll、epoll详解
聊聊IO多路复用之select.poll.epoll详解 2016/04/22 · IT技术 · 1 评论 · epoll, IO多路复用, poll, select 分享到:0 本文作者: 伯乐在线 ...
- Python中的select、epoll详解
Python中的select.epoll详解 文章目录 Python中的select.epoll详解 一.select 1.相关概念 2.select的特性 1.那么单进程是如何实现多并发的呢??? ...
- 【C/C++服务器开发】文件,文件描述符,I/O多路复用,select / poll / epoll 详解
文章目录 一.前言 1.文件的概念 2.文件描述符和文件指针 文件描述符 文件描述符和文件指针的区别 文件描述符太多了怎么办 二.I/O多路复用 1.I/O多路复用的由来 不要打电话给我,有需要我会打 ...
最新文章
- nginx虚拟目录配置
- P3743 kotori的设备(二分答案,思维,线性)难度⭐⭐⭐
- 全球移动SaaS市场规模5年将增170亿美元
- boost::lower_bound相关的测试程序
- Find Minimum in Rotated Sorted Array
- 天画-codeMaker组件化架构升级实践
- Android基础-Content Provider
- 爆干3天整理出来,408考研计算机网络复习笔记(更新中)
- python输出日历_python输出指定月份日历的方法
- (翻译)折叠菜单(Accordion Menu)
- ES3~ES7的数组方法
- excel 中的图片删除不了怎么办
- PP实施经验分享(3)——MRP运行问题常用解决方式
- 计算机基础课小论文,计算机基础课程论文参考文献大全 哪里有计算机基础课程参考文献...
- jquery-1.11.1.min.js文件(下拉选带搜索)
- xxtea 算法的 js 加密处理类,包含 UtfParser 和 Base64 类 ?
- 《设计模式之禅》-建造者模式
- CRM的功能优势,建立电话外呼系统
- 安卓系统一键root:z4root详细使用教程
- python常用 标准库介绍
热门文章
- Rails 用 RJS 简单有效的实现页面局部刷新
- mysql frm ibd 创建表_MySQL数据库实现从.frm文件和.ibd文件恢复数据表方法
- uniapp 引入阿里矢量图标库的详细步骤及踩坑经历
- CSDN验证不了手机
- 论文结尾参考文献形式
- Linux虚拟机CentOS7挂机问题
- 集值映射(set -valued mapping)
- echat3没有数据的时候,如何设置文字提示:“没有数据”
- java全栈工程师前景,已整理成文档
- 企业微信怎么输入服务器id,微信企业号的agentid怎么查看?如何获取?