linux poll和select的区别
时间: 2023-10-09 22:05:50 浏览: 71
linux中 epoll poll 和select的区别
Linux的poll()和select()函数都用于异步I/O处理,其中select()比poll()更早被引入。它们最主要的区别在于,select()使用的是一个数据结构fd_set来存储文件描述符(即需要进行I/O检查的描述符),而poll()使用一个pollfd结构数组。此外,poll()的可扩展性更好,能处理更多文件描述符,因为文件描述符数组是动态分配的,而select()则有一个限制,它使用fd_set数据结构,最多只能处理1024个文件描述符。最后,select()耗费的时间随着文件描述符数目的增加而线性增长,而poll()更倾向于下降这个数目。
阅读全文