出于某种原因,我找不到下面问题的答案,可能是因为它太明显了。
在我对 perl dancer 的实验中,我添加了一个路由,它只休眠 10 秒,然后返回一些东西。我这样做是为了模拟长时间运行的操作。我注意到,在这 10 秒内,舞者不会提供任何其他请求。我知道这是因为 dancer 是单线程的。
现在这种单线程方法显然不适用于要求不高的应用程序。所以我相信一定有很多既定的解决方案。但我似乎不知道谷歌搜索的正确搜索字符串。
为了清楚起见:我不介意,当初始化长时间运行的操作本身的请求被阻塞时。我想要的是所有其他请求都得到满足。
任何人都可以请教我
- 网络服务器传统上如何处理长时间运行的操作,而不阻塞其他请求?
- 每个会话是否会有线程/进程,或者线程/进程是否可以按需生成,在我知道操作需要很长时间的情况下
- 多线程时如何保留会话信息,即当浏览器不总是与同一个进程通信时?
- 关于舞者的任何具体建议(随时推荐舞者的替代品)