码迷,mamicode.com
首页 >  
搜索关键字:epoll    ( 1282个结果
网络编程基础——学习阻塞,非阻塞(select和epoll)
作者:蓝形参, 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情...
分类:其他好文   时间:2014-11-12 20:54:52    阅读次数:235
libevent 定时器timer
libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库。总体来说,libevent有下面一些特点和优势:* 事件驱动,高性能;* 轻量级,专注于网络;* 跨平台,支持 Windows、Linux、Mac Os等;* 支持多种 I/O多路复用技术, epoll、p...
分类:其他好文   时间:2014-11-12 13:15:38    阅读次数:286
中断和轮询 VS select和epoll
一。select和epoll首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,...
分类:其他好文   时间:2014-11-09 06:15:34    阅读次数:233
什么是多路复用IO接口epoll
频繁的I/O操作会引起频繁的系统调用,这会很慢,于是引入缓冲区。对于一个流(文件、socket或pipe),以缓冲区为单位进行操作,举个例子: 一个管道,A写入,B读出,一开始内核缓冲区为空,B阻塞,A开始写入,内核缓冲区状态由空变为非空,这时内核产生一个事件告诉B该醒了。但这个事件并没有让B去读数据,似乎只是起到一个警示,不过内核许诺不会把写入管道中的数据丢掉,A写入的数据会全部保存在缓冲...
分类:其他好文   时间:2014-11-05 00:29:09    阅读次数:202
Linux系统编程(第2版)笔记 (本书基本上就是Linux C API的简单使用说明,入门级别的)
Linux系统编程(第2版) 跳转至: 导航、 搜索 目录 1 入门和基本概念2 文件I/O3 缓冲I/O4 高级文件I/O5 进程管理6 高级进程管理7 线程8 文件和目录管理9 内存管理10 信号11 时间(这里谈不上系统编程了,就是C库API)12 附录A C语言的GCC扩展13 附录B 参考书目 ...
分类:Windows程序   时间:2014-10-31 15:43:16    阅读次数:312
Nginx并发訪问优化
Nginx反向代理并发能力的强弱,直接影响到系统的稳定性。安装Nginx过程,默认配置并不涉及到过多的并发參数,作为产品执行,不得不考虑这些因素。Nginx作为产品执行,官方建议部署到Linux64位系统,基于该建议,本文中从系统线之上考虑Nginx的并发优化。 1、打开Linux系统epoll支....
分类:其他好文   时间:2014-10-29 14:22:51    阅读次数:224
Libevent库学习笔记
Libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,Libevent在底层select、pool、kqueue和epoll等机制基础上,封装出一致的事件接口。可以注册可读、可写、超时等事件,指定回调函数;当事件发生后,Libevent调用回调函数,可以在回调函数里实现自定义功能。编译库代码,编译脚本会判断OS支持哪种类型的事件机制(select、epoll或...
分类:其他好文   时间:2014-10-29 00:24:48    阅读次数:204
Select、Poll与Epoll比较
(1)select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。 select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。 select的一个...
分类:其他好文   时间:2014-10-29 00:20:30    阅读次数:366
Event Poll epoll 详解
由于poll()和select()的局限,2.6内核引入了event poll(epoll)机制。虽然稍微复杂,但是epoll解决了它们共有的基本性能问题,并增加了一些新的特性。 poll()和select()每次调用都需要所有被监听的文件描述符。内核必须遍历所有被监视的文件描述符。当这个表变得很大...
分类:其他好文   时间:2014-10-28 19:42:22    阅读次数:175
Linux非阻塞IO(八)使用epoll重新实现非阻塞的回射服务器
本文无太多内容,主要是几个前面提到过的注意点: 一是epoll的fd需要重新装填。我们将tcp_connection_t的指针保存在数组中,所以我们以这个数组为依据,重新装填fd的监听事件。 //重新装填epoll内fd的监听事件 int i; for(i = 0; i buffer_)) even...
分类:系统相关   时间:2014-10-27 21:15:38    阅读次数:295
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!