【发布时间】:2011-06-23 10:15:39
【问题描述】:
我正在查看一个调用 @Async 方法的 spring @Controller 方法,执行一些“其他事情”,然后在 async 方法调用返回的 Future 上调用 .get()。
我可以看到这可以如何改善控制器的响应时间,因为异步方法和“其他东西”都涉及调用 Web 服务,当然,为什么不并行执行多个 ws 调用。但在控制器内部执行此操作对我来说似乎很不寻常。
我一直认为在 Web 应用程序中搞乱线程并不是一个好主意,毕竟所有 Web 应用程序都在服务器上运行,它们对线程有自己的想法(以及用于处理请求的固定线程池)。
这有难闻的气味吗?我什么都不担心吗? spring 将如何处理并发线程,通过在服务器控制之外创建一个新线程或使用服务器池中的另一个线程?
【问题讨论】:
标签: java multithreading spring-mvc