我目前正在构建一个基于 java-servlet 的 web 应用程序,它应该为相当多的用户提供服务(不要问我“很多”是多少:-) - 我还不知道)。
但是,在使用应用程序时,可能会在服务器端发生一些耗时的处理。
为了避免糟糕的 UI 响应,我决定将这些处理操作移动到它们自己的线程中。
这意味着一旦用户登录,可能会在后台运行 1-10 个线程(每个用户 !)。
我曾经听说在 Web 应用程序中使用多线程是一个“坏主意”。
这是真的吗?如果是:为什么?
更新: 我忘了提到我的应用程序严重依赖于 ajax 调用。每个用户操作都会导致一个新的 ajax 调用。因此,当主 servlet 线程繁忙时,ajax 调用需要很长时间来处理。这就是为什么我想使用多个线程。
最佳答案
自己手动创建线程是个坏主意。这在 SO 中已经讨论了很多。例如,参见 this 问题。
另一个 question 讨论了替代解决方案。
关于java - 好主意还是坏主意 : Multiple threads in a multi-user servlet-based web application with Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6548261/