假设我有脚本,它会在服务器上进行长时间轮询以检查用户是否有任何新消息。服务器端将是这样的
while counter < 5
if something_changed
push_changes_to_client
break
else
counter++
sleep 5
它检查数据库5次,每次如果没有变化,它会等待5s直到下一次检查,这导致最大执行时间约为25s。
当客户从一个页面快速移动到另一个页面时会发生什么?我想即使客户端移动到不同的页面,服务器脚本也会继续运行,在那里它会发送另一个更改请求。
这是否意味着,当很多人在网站上快速移动时(每个页面上的最长执行时间少于 25 秒),那么服务器必须继续运行所有脚本,这些脚本试图响应不存在的页面还有吗?这不会导致服务器非常快地使用它的所有线程池吗?