林茂枝

 

2013年1月16日

linux下epoll如何实现高效处理百万句柄的[转]【epoll】

摘要: 源:http://blog.csdn.net/wanghaobo920/article/details/8222202开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?先简单回顾下如何使用C库封装的3个epoll系统调用吧。[cpp]view plaincopyintepoll_create(intsize);intepol 阅读全文

posted @ 2013-01-16 17:24 林茂枝 阅读(419) 评论(0) 推荐(1) 编辑

使用epoll 在 linux 上开发高性能应用服务器【epoll】

摘要: 源:http://blog.csdn.net/herm_lib/article/details/8192371概述epoll是linux提供一种多路复用的技术,类似各个平台都支持的select,只是epoll在内核的实现做了更多地优化,可以支持比select更多的文件描述符,当然也支持 socket这种网络的文件描述符。linux上的大并发的接入服务器,目前的实现方式肯定都通过epoll实现。epoll和线程有很多开发人员用epoll的时候,会开多个线程来进行数据通信,比如一个线程专门accept(我个人早些年在FreeBSD用kqueue的时候,由于对内部机制没有基本了解也这样搞),一个线程 阅读全文

posted @ 2013-01-16 17:23 林茂枝 阅读(399) 评论(0) 推荐(0) 编辑

epoll精髓【epoll】

摘要: 源:http://www.cnblogs.com/OnlyXP/archive/2007/08/10/851222.html在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024表示select最多同时监听1024个fd,当然,可以 阅读全文

posted @ 2013-01-16 17:22 林茂枝 阅读(371) 评论(0) 推荐(1) 编辑

导航