我有一个Java EE Web应用程序。现在当一个特定的请求到来时(比如说/ xyz url patter)我想做如下的复杂处理
以下3个步骤中的每个步骤都非常复杂,需要时间。
1,2和3彼此独立,因此可以并行调用。
现在的问题是:
答案 0 :(得分:1)
要解决第一个问题,我将完成以下4个步骤:
第二个问题 这取决于您的数据,尤其是Web服务的响应速度,您应该尝试一下。
第三个问题最终,这就是它们的用途。这也有助于您构建应用程序。
答案 1 :(得分:1)
1)我可以在三个单独的线程中执行操作1,2和3吗? 是的,你可以。
2)建议为每个请求创建3个线程吗? 只要这些东西不依赖于彼此,并且只要你不依赖于在同一个事务中获取这些东西,那么它似乎应该没问题。当然,您必须处理一个或多个线程不成功的情况。你需要一个单独的监视程序线程来取消线程,如果它们花费的时间太长,或者如果一个线程失败则会回来。
3)我应该使用线程池吗? 无论你做什么,每当你使用线程时,你应该使用一个池。这样,如果出现线程无法完成或进入某种不良状态或以其他方式变得不可用的问题,您可以保护您的应用程序不会耗尽线程。