谁能帮我回答有关 epoll_wait 的问题。
在同一个 fds 集上使用许多调用 epoll_wait 的线程来为大约 100K 活动套接字提供服务是不是有点矫枉过正?还是只创建1个线程来执行epoll_wait就足够了?
例如,当只有一个套接字准备好读取数据时,有多少线程将从 epoll_wait 中唤醒?我的意思是,是否存在 2 个或更多线程将从 epoll_wait 唤醒但在结果事件中具有相同 fds 的情况?
在与许多活动客户端(例如 50K+)一起工作的服务器中组织线程的最佳方式是什么?我认为最好的方法是:1 个 I/O 工作线程,它执行 epoll_wait 和 i/o 操作。+许多数据处理线程将处理从 I/O 工作线程接收到的数据(可能需要很长时间,例如任何游戏逻辑),并为 I/O 工作线程组合新数据发送到客户端。我采用这种方法是否正确,或者任何人都可以帮助我找出组织这种方法的最佳方法?
提前致谢, 瓦伦丁