我是套接字新手,我正在学习/阅读一些 epoll 材料和代码。我的问题是,当 epoll 在系统(Linux)中可用时,epoll 是否可以完全取代 select/poll?
我认为套接字编程在实践中也应该有一些范式可以遵循。当我阅读代码时,我发现一些带有“epoll”的“select”:
服务器代码在处理阻塞套接字时使用 select。我认为 epoll(LT) 的行为与 select 相同,因此可以使用 epoll 替换所有 select。
一些遗留代码使用 epoll 进行监控。事件返回后,在相应的 fd 上使用 select 在读/写之前“检查”它。我不太确定这个“选择”的含义。
我对这些“选择”代码感到困惑,希望有人能提供帮助。