servlet默认采用单实例多线程模式,所以可能会发生线性安全问题的,其中有个解决方案是实现SingleThreadModel接口,但是不推荐这个方式,说是因为这种方式,在并发量高的时候,会大量消耗内存资源,(因为实现了这个接口,就是每个请求,都会创建一个servlet实例,是多实例了,会占大量内存),,但是struts2里不是默认每个请求,都会创建一个action吗,,为什么没人说struts2会消耗大量内存资源?
servlet默认采用单实例多线程模式,所以可能会发生线性安全问题的,其中有个解决方案是实现SingleThreadModel接口,但是不推荐这个方式,说是因为这种方式,在并发量高的时候,会大量消耗内存资源,(因为实现了这个接口,就是每个请求,都会创建一个servlet实例,是多实例了,会占大量内存),,但是struts2里不是默认每个请求,都会创建一个action吗,,为什么没人说struts2会消耗大量内存资源?
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答715 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
线程安全问题在于有共享状态,只要不共享servlet成员变量,或者设置成员变量但进行正确的同步,便不存在线程安全问题。