2014-02-25 76 views
2

我有一个弹簧控制器。来自控制器的请求线程被传递给@Service注释的Service类。现在我想要做一些后台工作,请求线程必须如何触发后台线程并继续它自己的工作,并且不应该等待后台线程完成。安全地在春季请求线程内产生新线程

我的第一个问题:is this safe to do this.? 第二个问题:how to do this.?

回答

2

这是安全

不是真的。如果你有很多并发用户,你会为每个用户产生一个线程,而大量的线程可能会让你的服务器瘫痪。应用服务器使用一个线程池,正是为了避免这个问题。

如何做到这一点

我会使用asynchronous capabilities of Spring做到这一点。调用@Async注释的服务方法,服务方法将由另一个线程从可配置池执行。