关于select与epoll的区别,网上的文章已是一大堆.不过别人的终究是别人的,总得自己去理解才更深刻.于是在阅读了大量的文章后,再装模作样的看下源码,写下了自己的一些理解. 在开始之前,要明白linux中分用户空间.内核空间,这相当于两块不能直接相互访问的内存.而用户程序要访问设备,包括网络.读写文件,都需要调用内核的相关函数.而调用内核相关函数,则往往需要从用户空间往内核拷贝一些数据,反之亦然.当调用非常频繁,这个拷贝的消耗也是不能忽略的.具体请参考:http://www.kerneltr…