struts1框架内部采用单态模式,即不管多少个线程来访问它,都将其生成一个实例对象,所以,它是线程安全的。
struts2内部采用机制是:对于用户发送的每一次请求action处理类都会new一个action实例对象,虽然它内部代码不是直接采用单态模式设计,可是其最终和单态模式产生的结果基本相同,所以,我们也不用考虑到县城是否安全。
总的来说,这两个框架,我们作为程序员都不用去处理线程是否安全,我们只关心业务处理即可。
如果要考虑某个类线程要安全,那么,我们采用在这个类里面尽量少用类的实例对象,多用局部变量对象,因为实例对象是属于类对象共享的,可以被多个线程访问,而局部变量,它的作用域是在一个实例对象,只是用一个线程访问,不存在数据共享。。。。。。