我正在学习Linux内部。所以我遇到了poll
系统调用。据我所知,当一些数据准备好从设备读取以及我们准备好设备数据时,驱动程序会使用它来提供通知。
如果设备没有任何要读取的数据,则当数据可用时,进程将进入休眠状态并唤醒,反之亦然。
有人可以通过一些真实的例子让我具体了解民意调查系统吗?
答案 0 :(得分:1)
poll和select(后者非常类似于带有these差异的poll)sys调用用于处理客户端请求的所谓异步事件驱动方法。
基本上,在网络编程中,服务器处理来自网络客户端的许多连接有两种主要策略:
1)更传统:线程或面向流程的方法。在这种情况下,网络服务器具有主进程,其侦听一个特定的网络端口(在Web服务器的情况下为端口80)以进行连接,并且当连接到达时,它产生新的线程/进程以处理该新连接。 Apache HTTP服务器采用了这个方法。
2)上述异步事件驱动方法,其中(在最简单的情况下)网络服务器(例如Web服务器)是只有一个进程的应用程序,它接受连接(为每个新客户端创建套接字),然后它监视这些套接字轮询/选择传入数据。 Nginx http网络服务器接受了此approch。