Spring单例与多线程的理解
2012-06-07 09:12
337 查看
Spring中由容器托管的类如果没有特殊声明(scope = “prototype”),则默认为单列模式,当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求多对应的业务逻辑(成员方法),此时就要注意了,如果该处理逻辑中有对该单列状态的修改(体现为该单列的成员属性),则必须考虑线程同步问题;否则由于在业务逻辑中执行所需的局部变量会分配在栈空间中,所以不需要同步。
ps:全局数据区存放静态全局变量(即单例中的类),堆区存放分配的对象,栈用来存放局部变量,因此对象的引用只有可能出现在栈和全局数据区中。
ps:全局数据区存放静态全局变量(即单例中的类),堆区存放分配的对象,栈用来存放局部变量,因此对象的引用只有可能出现在栈和全局数据区中。
相关文章推荐
- Spring单例与多线程的理解
- 多线程编程之pthread线程深入理解
- Spring 框架的理解
- mybatis集成到spring理解
- Spring多线程注入时报null异常
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- CORS的理解以及Spring Boot的配置方式
- 从JAVA多线程理解到集群分布式和网络设计的浅析
- Spring基础篇——Spring容器和应用上下文理解
- 谈谈对Spring IOC的理解
- 细谈Spring(十一)深入理解spring+struts2整合(附源码)
- 01-Spring-ioc理解
- Spring Boot---(7)SpringBoot多线程
- 【C/C++多线程编程之五】pthread线程深入理解
- 看《墨攻》理解IoC―Spring底层核心
- spring事务的传播性的理解
- 深入理解Java:SimpleDateFormat安全的时间格式化(多线程应用)
- 【小平工作日志】Spring事务<tx:annotation-driven/>的理解(Controller使用@Transactional)
- 浅谈对Spring IOC的理解
- Spring中Bean及@Bean的理解