为了账号安全,请及时绑定邮箱和手机立即绑定

java后台接收请求处理是单线程的吗?

java后台接收请求处理是单线程的吗?

沧海一幻觉 2019-05-20 18:20:16
前台用ajax请求后台,一个简单的操作,比如提交表单,返回成功后调用另一个ajax请求刷新列表,我后台在接收表单数据后先保存入数据库,然后返回成功,在reponse返回的代码后面接下来继续处理业务逻辑,这样在后台继续处理业务逻辑的时候前台已经得到成功的返回,然后前台继续发起刷新表单的请求,但是发现后台必须要等到前一个提交表单的请求处理完所有的业务代码后才会响应这个刷新表单的请求,感觉就像是一个线程串行在处理请求。按照我的理解一个request请求应该会从线程池中取一个新线程来处理这个请求到相应的全过程,每个请求应该都是独立的,为什么会出现这种一个线程同时处理多个请求的情况?难道是在同一页面发起的原因?因为只要另开一个页面就没问题,当前页面的阻塞不会影响到另一个页面
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

后台肯定是多线程的,我想应该是你的后台的response设置好的时候,其实并没有真正返回给前台,要等到你业务逻辑处理完才会送响应到前台,所以给你造成了单线程的错觉。
                            
查看完整回答
反对 回复 2019-05-20
?
烙印99

TA贡献1829条经验 获得超13个赞

这样在后台继续处理业务逻辑的时候前台已经得到成功的返回这句话我不理解了,ajax去请求了后台,后台没有业务没有处理完,前台ajax怎么先得到了响应结果?
还有我觉得你思考的点直接放到了后台,有考虑过ajax嵌套的情况吗(也要注意ajax的同步异步),这个没有代码也不知道,只能给个建议。
至于最后提到的,我记得自己刚接触spring的时候也想过这个问题,这个和scope有关,你可以写个demo,我当时写demo测试时,设置了一个成员变量,每次请求来就++,结果发现默认是一直累加的(这个结果我都不确定了,很久很久之前写的了,你可以自己试试)
                            
查看完整回答
反对 回复 2019-05-20
  • 2 回答
  • 0 关注
  • 678 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信