当前位置: 技术问答>linux和unix
关于select()和poll()在效率和实现上的区别的一些疑惑?望专家解答一下,感谢!
来源: 互联网 发布时间:2015-07-05
本文导语: Select()和poll()在功能上非常相似,都是为了实现I/O的多路复用,但是他们的实现机制肯定是不一样的,但是他们各自真正的实现机制有什么区别呢? 如果有区别,那么他们在效率上有很大差别吗? 总之就是 ,既然s...
Select()和poll()在功能上非常相似,都是为了实现I/O的多路复用,但是他们的实现机制肯定是不一样的,但是他们各自真正的实现机制有什么区别呢?
如果有区别,那么他们在效率上有很大差别吗?
总之就是 ,既然select()和poll()都能获取I/O多路复用的好处和效率,那么哪个的效率更高呢?他们的实现机制分别如何?
希望在这方面研究过内核的专家帮我解答一下,非常感谢。
如果有区别,那么他们在效率上有很大差别吗?
总之就是 ,既然select()和poll()都能获取I/O多路复用的好处和效率,那么哪个的效率更高呢?他们的实现机制分别如何?
希望在这方面研究过内核的专家帮我解答一下,非常感谢。
|
这里有一个简单得讨论
http://monkey.org/openbsd/archive/tech/9901/msg00110.html
http://monkey.org/openbsd/archive/tech/9901/msg00110.html
|
效率一样的,select的实现,在驱动层次也是依赖poll的实现。
|
至少在Linux下,poll和select是一样的,不但效率相似,其内部实现几乎一样,就像同一套机制的两个名字