Socket拉屎模型之epoll
参考如下蚊帐,也就是传说中的异步非阻塞:
e poll e的含义是event---------事件探测。
poll 则是探测的意思。
这里的阻塞主要是说epoll的调用,传入一个结构体用于记录事件,并立即返回 。所以是非阻塞。
这跟poll和select有很大的不通,poll和select是通过轮询的方式,没有事件不返回,所以是阻塞的。
http://blog.csdn.net/ljx0305/article/details/4065058
epoll和poll,select都是异步的。
jdk7 引入的最新的java异步IO比较牛逼。有空可以去学学
参照如下文章。
http://www.iteye.com/topic/472333
通过对比poll和epoll的代码。发现基本上框架都是一样的。区别是,
1.epoll利用事件机制,提前注册到内核中。内核以事件的方式来通知 epoll_wait方法。应用感兴趣的【事件数组】被内核维护。
2.poll 在内核实现上,利用 poll方法对句柄进行轮询,效率较低。应用感兴趣的【事件数组】自己维护。
http://blog.csdn.net/piggyxp/article/details/6922277
Socket拉屎模型之epoll相关推荐
- Socket拉屎模型之二--实践篇
前言:本篇没有介绍最好的IO模型 epoll(非阻塞异步),是性能最好的.但是本篇不做介绍. http://www.ibm.com/developerworks/cn/linux/l-async/ h ...
- Linux网络编程---I/O复用模型之epoll
https://blog.csdn.net/men_wen/article/details/53456474 Linux网络编程-I/O复用模型之epoll 1. epoll模型简介 epoll是Li ...
- 很幽默的讲解六种Socket IO模型(转)
本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教. 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect ...
- 很幽默的讲解六种Socket IO模型
很幽默的讲解六种Socket IO模型 本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教. 一:select模型 二:WSAAsyncSel ...
- IO模型(epoll)--详解-02
写在前面 从事服务端开发,少不了要接触网络编程.epoll作为linux下高性能网络服务器的必备技术至关重要,大部分游戏服务器都使用到这一多路复用技术.文章核心思想是:要让读者清晰明白EPOLL为什么 ...
- Socket IO多路复用: epoll原理图解
目录 一.accept 创建新 socket 1.1 初始化 struct socket 对象 1.2 为新 socket 对象申请 file 1.3 接收连接 1.4 添加新文件到当前进程的打开文件 ...
- socket的拉屎模型
太空中有很多宇航员,要大便. 第一种方案: 一个一个排队大便.一天大便一次,轮到谁,谁必须大便完成之后,才能给第二个人大便.[大便管理者很方便],但是如果前面的[大便者]一直大便不出,直接把后面的[大 ...
- 多路IO复用模型 select epoll 等
同步阻塞IO在等待数据就绪上花去太多时间,而传统的同步非阻塞IO虽然不会阻塞进程,但是结合轮询来判断数据是否就绪仍然会耗费大量的CPU时间. 多路IO复用提供了对大量文件描述符进行就绪检查的高性能方案 ...
- Socket编程实践(11) --epoll原理与封装
常用模型的特点 Linux 下设计并发网络程序,有典型的Apache模型(Process Per Connection,PPC), TPC(Thread Per Connection)模型,以及 se ...
最新文章
- centos6.8 配置 tomcat
- 自定义控件:视差特效
- Android开源框架——网络解析GSON
- 一、核心C#(第二部分)
- 【前后端记录】前端接收后端数据并用div元素渲染 ,mybatis修改用户数据。
- 效率提升工具Listary
- windows10安装mysql 8.0_手把手教你在Windows 10安装MySQL 8.0(详细图文)
- 【51单片机快速入门指南】3.3:USART 串口通信
- 笔记 备考2022华师大 教育专硕
- 从新获取jar_SpringBoot配置文件放在jar外部
- 基于 Flink、ClickHouse 的舆情分析系统:需求规格说明书与需求界面
- 北京市密云区谷歌卫星地图下载
- 当下的力量实践手册读书笔记(1.29)
- Xcode 8 size class
- 动手打造N合1操作系统安装光盘
- 南阳oj STL分类练习
- 微信撤回服务器有没有,无需任何软件, 告诉你如何查看微信撤回的图片!
- 解决 org.gjt.mm.mysql.Driver 报错问题 实测有效
- css 选父元素,CSS中模拟父元素选择器
- xshell6家用版下载和使用
热门文章
- oracle11中过程continue,Oracle 11g OCM备考之创建EM与EM登陆异常的处理
- java md5 ios_iOS 自带MD5
- C++中getline()与cin.getline()详解
- 判断objcet是否是map类型_57、递归+树的深度+map-二叉搜索树的平衡性
- matplotlib 散点图_Python学习 —— matplotlib绘制三维曲线图和三维散点图
- java手机游戏模拟器下载_Java手机游戏模拟器
- 旋转角度_办公娱乐新神器!这款稳固的创意支架,360°旋转随便换角度
- Bullmind在线读书笔记软件
- Java Magic. Part 5: SecurityManager
- 如何设置putty远程登录linux