SpirngMVC中的线程问题
SpringMVC多个线程共享一个单例控制器对象,利用栈中
的数据避免线程安全问题
java中一个线程一个栈
堆:全体线程共享(Controller)
当浏览器发送请求时,线程池会调用一个线程执行
如何避免并发,在方法中定义变量,各有各的变量,不会出现
线程线程安全问题。不建议使用共享变量。
SpringMVC和Struts2控制器区别
1.都用于处理页面的请求
2.Struts2的控制器是多例的
-Struts为每个请求创建来哦单独的控制器对象
-这样每个线程有一组控制中定义的Bean属性数据,避免了多线程并发安全问题。
3.Spring MVC 的控制器是单例的
-请求参数注入到 控制器方法的参数
-方法参数是存储在当前线程的栈中,这样也没有线程安全问题。