您的位置:首页 > 编程语言 > Java开发

Spring单例与多线程的理解

2012-06-07 09:12 337 查看
Spring中由容器托管的类如果没有特殊声明(scope = “prototype”),则默认为单列模式,当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求多对应的业务逻辑(成员方法),此时就要注意了,如果该处理逻辑中有对该单列状态的修改(体现为该单列的成员属性),则必须考虑线程同步问题;否则由于在业务逻辑中执行所需的局部变量会分配在栈空间中,所以不需要同步。

ps:全局数据区存放静态全局变量(即单例中的类),堆区存放分配的对象,栈用来存放局部变量,因此对象的引用只有可能出现在栈和全局数据区中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 多线程 prototype