繁体   English   中英

epoll_wait:最大事件数

[英]epoll_wait: maxevents

int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);

我对maxevents参数有点困惑。 假设我想编写一个可以处理多达 10k 个连接的服务器。 那么我会将 maxevents定义为 10000,还是出于某种原因应该更低?

Maxevents 只是*events指向的struct epoll_events数组的长度。

如果内核当时有超过该数量的事件要提供给您的程序,它会发现它不应该,因为您不希望在特定的 _wait 中返回那么多。

您可能需要为您的程序尝试最佳大小。 最佳大小甚至可能因架构而异。 对于被轮询的少量文件描述符,您可以很容易地将maxevents设置为文件数(并相应地调整events数组的大小),但同时需要注意所有文件的可能性很低,因此您可能能够使用较低的maxevents值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM