springboot多线程问题
我做了一个基于springboot的与手机App交互的系统。
正常来说,就是App向系统发送一个POST Request,请求内容是一段json。然后我的系统处理完会立马Response一串json。
但是现在有个需求,我的App向系统发送完Request后,系统会立刻Response,然后系统再处理一些东西,最后给手机App发一个推送。
我想用多线程的方式,系统的Controller拦截到Request后,交给Service处理。Service里启动一个子线程,然后Service就return了一段json,主线程工作结束,并且手机收到了Response。刚才启动的子线程此时还在处理,等几秒钟处理完成后,再向手机App发送推送。
可是我测试的时候发现,一旦Service return了之后,子线程也就停止运行了。
所以这种需求应该用什么方式实现?或者有没有办法,Service可以提前Response数据给手机,然后继续处理,就是说不再使用return “json”的方式,而且用某种方法Response,然后继续跑剩下的内容,最后Service的函数结束,这样也就不用启动子线程了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将所有的子线程都使用一个指定的线程池去维护,在系统启动时初始化这个线程池。在service中将任务线程提交到线程池中,线程池处理任务并给出相应推送结果。