好的或坏的想法:使用Java的多用户基于servlet的Web应用程序中的多个线程

Tim*_*imo 3 java multithreading

我目前正在构建一个基于java-servlet的Web应用程序,它应该为很多用户提供服务(不要问我"有多少":-) - 我还不知道.

但是,在使用应用程序时,可能会在服务器端进行一些长时间处理.为了避免糟糕的UI响应,我决定将这些处理操作移到自己的线程中.这意味着一旦用户登录,就会发生1-10个线程在后台运行(每个用户!).

我曾经听说在Web应用程序中使用多个线程是一个"坏主意".

这是真的,如果是的话:为什么?

更新:我忘了提到我的应用程序很大程度上依赖于ajax调用.每个用户操作都会导致新的ajax调用.因此,当主servlet线程忙时,ajax调用需要很长时间才能处理.这就是我想要使用多线程的原因.

kgi*_*kis 5

自己手动创建线程是个坏主意.这已经在SO中进行了很多讨论.例如,请参阅问题.

另一个问题讨论了替代方案