noi*_*eed 8 c asynchronous network-programming epoll
我重写一个多线程的Linux-2.6.32 +应用程序以替换select用epoll.
epoll_create1(2)的手册页声明:
如果flags为0,则除了删除过时大小参数这一事实外,epoll_create1()与epoll_create()相同.
然而,这个过时的尺寸参数是不是被epoll_wait(2)用作maxevents?
epoll_wait(int epfd, struct epoll_event *events,
int maxevents, int timeout);
Run Code Online (Sandbox Code Playgroud)
这意味着当使用epoll时我们可以避免声明最大事件数量,epoll_create1但迟早我们必须在调用时引用它epoll_wait?如果是这样,那么epoll_create1进入游戏的重点是什么?
感谢您对此主题的启发.
不,有epoll_wait,maxevents告诉您将返回的最大事件数.它与内核中维护的数量无关.
较旧版本epoll_create使用大小来设置某些限制,但它不再使用,因此该size参数已过时的注释.
使用的优点epoll_create1是它允许您指定标志,我认为这些标志目前仅限于close-on-exec(以便在进行exec另一个进程时文件描述符自动关闭).
| 归档时间: |
|
| 查看次数: |
6044 次 |
| 最近记录: |