以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数是.....
分类:
其他好文 时间:
2014-08-07 22:43:15
阅读次数:
460
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为...
分类:
其他好文 时间:
2014-08-06 18:15:41
阅读次数:
326
EPOLLLT——水平触发EPOLLET——边缘触发epoll有EPOLLLT和EPOLLET两种触发模式,LT是默认的模式,ET是“高速”模式。LT模式下,只要这个fd还有数据可读,每次 epoll_wait都会返回它的事件,提醒用户程序去操作,而在ET(边缘触发)模式中,它只会提示一次,直到下次...
分类:
其他好文 时间:
2014-08-06 17:57:51
阅读次数:
231
memcache的介绍与原理简介: memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。解决共享内存在单个机子的局限性,在window下使用的是libevent,而在linux下使用的是epoll来均...
分类:
其他好文 时间:
2014-08-06 17:45:21
阅读次数:
231
设想一个场景:有100万用户同一时候与一个进程保持着TCP连接,而每个时刻仅仅有几十个或几百个TCP连接时活跃的(接收到TCP包),也就是说,在每一时刻,进程值须要处理这100万连接中的一小部分连接。那么,怎样才干高效地处理这样的场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这1...
分类:
其他好文 时间:
2014-08-06 17:19:41
阅读次数:
232
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在...
分类:
其他好文 时间:
2014-08-06 08:22:31
阅读次数:
297
当系统启动时,epoll进行初始化: 1 static int __init eventpoll_init(void) 2 { 3 mutex_init(&pmutex); 4 ep_poll_safewake_init(&psw); 5 epi_cache = kmem_c...
分类:
其他好文 时间:
2014-08-05 13:51:59
阅读次数:
431
首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O nonblocking I/O I/O multiplexing (select?and?poll) signal driven I/O (SIGIO) asynchronous I/O (the POSIX?aio_functions) blocking I/O? 这...
分类:
其他好文 时间:
2014-08-04 14:47:17
阅读次数:
241
下面是我最近研究的用C写的Linux,socket聊天程序。要学Epoll,EPOLL中有很多socket的语句,所以又跳到C这边来了。server.c#include #include #include #include #include #include #include #include #i...
分类:
其他好文 时间:
2014-08-01 04:44:21
阅读次数:
255