
Linux内核中select、poll和epoll的实现及区别
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文探讨了在Linux内核环境下,select、poll和epoll三种I/O多路复用机制的具体实现方式及其性能差异,帮助读者深入理解其工作原理与应用场景。
在这段时间内研究 select、poll 和 epoll 的内核实现后,我有一些心得体会:select、poll 和 epoll 都是多路复用 IO 函数,在一个线程中可以同时处理多个文件描述符的读写操作。select 和 poll 的实现非常相似,而 epoll 则是在此基础上为了克服 select 和 poll 自身缺陷进行的一种扩展。epoll 是在内核版本 2.6 中出现的新函数,这三种函数在 Linux 内核中的实现十分类似。
它们都需要设备驱动提供 poll 回调函数,对于套接字而言,这些回调函数分别是 tcp_poll、udp_poll 和 datagram_poll;而对于自定义的设备驱动,则需要自行编写相应的 poll 函数。
全部评论 (0)
还没有任何评论哟~


