2
我有一个弹簧控制器。来自控制器的请求线程被传递给@Service注释的Service类。现在我想要做一些后台工作,请求线程必须如何触发后台线程并继续它自己的工作,并且不应该等待后台线程完成。安全地在春季请求线程内产生新线程
我的第一个问题:is this safe to do this.?
第二个问题:how to do this.?
我有一个弹簧控制器。来自控制器的请求线程被传递给@Service注释的Service类。现在我想要做一些后台工作,请求线程必须如何触发后台线程并继续它自己的工作,并且不应该等待后台线程完成。安全地在春季请求线程内产生新线程
我的第一个问题:is this safe to do this.?
第二个问题:how to do this.?
这是安全
不是真的。如果你有很多并发用户,你会为每个用户产生一个线程,而大量的线程可能会让你的服务器瘫痪。应用服务器使用一个线程池,正是为了避免这个问题。
如何做到这一点
我会使用asynchronous capabilities of Spring做到这一点。调用@Async
注释的服务方法,服务方法将由另一个线程从可配置池执行。