这个问题基本上我已经搞明白了,但好歹这是我潜水很久以来第一次提问,就留个纪念吧。我看到tomcat6开始有了非阻塞的功能,我知道以前是“单例多线程”的,如果在一次servlet中,我要在整个执行流程的后面某个方法里使用一个未经传递的参数(例如request没有传递而流经多层方法后某个方法要判断session里的某个属性),可以通过在一个静态类中用Map来共享。但是,如果改成非阻塞的模式了,是不是说无法用线程ID来区别请求了?例如开始我在当前线程ID123下存入对象A,执行到后面的方法里取出的时候可能线程ID已经是345了(这个我觉得不可能);如果不是前面这样,那会不会我当前线程ID123还没结束,另一个处理新请求的线程ID有可能也是123。能不能详细的解释下这个非阻塞的实现方式。尤其是在doService方法开始,跟以前有什么不同了吗?
添加回答
举报
0/150
提交
取消