日期:2014-05-20  浏览次数:20654 次

spring中的单例模式
sping中配置文件中singleton设置为什么与单例模式不是一回事, singleton为true or false 跟什么有关系?
单例模式与多线程有什么关系?

------解决方案--------------------
sping配置文件中singleton设置与单例模式就是一回事。
默认singleton=true,在spring的beanfactory当中这个bean实例只有一个。
单例引出并发问题,既然实例只有一个,多个线程就可能同时或不同时访问它,
那么它的状态(属性成员)的一致性就是个问题,写入状态的方法必须同步。
------解决方案--------------------
Spring 中 Singleton,表示组件有且仅有一个实例,开发人员编写的组件仍然是普通的Bean,Spring并不能阻止应用程序自行通过new操作符生成Bean的实例。

以上是从书上抄的
------解决方案--------------------
一般的java web项目已经极少会遇到多线程问题
servlet、jsp的目的之一就是屏蔽多线程
数据层面只要有数据库也都帮你搞定了
除非自己读写文件、一些特殊的地方确需自己控制并发
singleton=true矛盾那你就singleton=false啊

------解决方案--------------------
探讨
引用:
sping配置文件中singleton设置与单例模式就是一回事。
默认singleton=true,在spring的beanfactory当中这个bean实例只有一个。
单例引出并发问题,既然实例只有一个,多个线程就可能同时或不同时访问它,
那么它的状态(属性成员)的一致性就是个问题,写入状态的方法必须同步。

假如我的项目中肯定会有多线程并发问题,那么还让singleton为true这样不矛盾吗?这与内存的分配有关系吗?
感谢您的…