网路编程select/poll/epoll的区别
select/poll为linux的系统调用,进程将fd传递给select或poll系统调用,阻塞在select上,这样select/poll可以帮我们侦测多个fd是否处于就绪状态。select/poll是顺序扫描fd是否就绪,而支持的fd有限因此它的使用受到了一些制约。epoll使用基于事件驱动的方式替代顺序扫描,因此性能更高。当fd就绪时,立即回调函数rollback。
select/poll为linux的系统调用,进程将fd传递给select或poll系统调用,阻塞在select上,这样select/poll可以帮我们侦测多个fd是否处于就绪状态。select/poll是顺序扫描fd是否就绪,而支持的fd有限因此它的使用受到了一些制约。epoll使用基于事件驱动的方式替代顺序扫描,因此性能更高。当fd就绪时,立即回调函数rollback。