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

同一个servlet,被多次请求?是每次都会新起线程还是?

同一个servlet,被多次请求?是每次都会新起线程还是?

大咪 2017-12-23 13:37:14
如题,如果一个servlet,里面新起一个线程,此线程写着对应的逻辑代码,此时发起第一次调用servlet,过1s后继续调用此servlet,上一次的代码没有执行完,又有请求进入到这个servlet里会发生什么状况呀?还是说当第二个请求过来程序会新起一个线程去执行servlet的代码?
查看完整描述

1 回答

已采纳
?
cxxyjsj

TA贡献119条经验 获得超22个赞

一次请求就是一个线程。不管前一个请求有没结束,只要不做线程同步操作,后面的线程都不受影响

查看完整回答
反对 回复 2017-12-23
  • 大咪
    大咪
    你说的线程的同步操作是指的啥呀??可以举个例子嘛
  • cxxyjsj
    cxxyjsj
    servlet是单例,如果你在doPost方法中使用synchroized(this){xxxx} 那么会导致后面请求的线程等待当前线程执行完再进入,这样就能保证线程是一个一个的执行doPost,把异步转成同步。
  • 大咪
    大咪
    那比如我这个dopost方法里新启了一个线程,然后不加同步块,如果先触发一次这个dopost,代码执行到了新启线程的逻辑里,此时又有一个请求进了servlet的dopost方法中,那么这时的那个新启线程的代码会跟第一次请求后新启线程产生互斥吗?
点击展开后面2
  • 1 回答
  • 0 关注
  • 3555 浏览

添加回答

举报

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