
I/O多路复用之 epoll
select 的缺陷 目前对于高并发的解决方案是 一个线程处理所有连接,在这一点上 select 和 epoll 是一样的。但 当大量的并发连接存在、但短时间内只有少数活跃的连接时,select 的表现就显得捉襟见肘了。 ...

select 的缺陷 目前对于高并发的解决方案是 一个线程处理所有连接,在这一点上 select 和 epoll 是一样的。但 当大量的并发连接存在、但短时间内只有少数活跃的连接时,select 的表现就显得捉襟见肘了。 ...

看 select 源码,fd_set 这个结构体实际上是一个 long 型的数组,但是数组的长度依赖于系统中 typedef long int __fd_mask 的长度。当我去调试的时候,经常打印出一些很奇怪的值,有时候还会溢出。 ...