2013-08-02 40 views
4

我看了poll,epollselect之間的區別。我不明白什麼時候應該使用select。我沒有看到任何優勢,因爲pollepoll擁有select所具有的一切,以及更多。爲什麼使用select(),當我們有poll()和epoll()時

+2

'epoll()'是Linux專用的。所以如果你關心可移植性,只有'select()'和'poll()'保留。 –

+0

取決於您要監視的套接字(FD)的數量。對於少於10個'select'的速度比epoll快。另外'epoll'是Unix特有的。 'select'有一個MAX_LIMIT(1024我認爲),而'epoll'沒有。 –

+1

這是一個很好的總結[民意調查vs選擇vs基於事件](http://daniel.haxx.se/docs/poll-vs-select.html),這也很不錯[C10K問題](http: //www.kegel.com/c10k.html)。 'select'並且是最便攜的,接下來是'poll','epoll'只是linux。使用'select'和'poll'比'epoll'簡單,但如果需要可擴展性的話,可以使用'epoll'。 –

回答

-1

select()監視少於poll()的文件描述符。 此外,select()的一些實現只是使用poll()。

相關問題