JiveJdon Community Forums
在线262人   首页   主题总表   培训咨询   精华   查搜   注册    登陆
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 8 回复 / 1
 发表新帖子   回复该主题贴
nitmithv

悄悄话
发表文章: 16
注册时间: 2003年10月26日 16:57
请教一个Singleton的问题? 2003年10月29日 10:24 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 singleton模式(36)     
我看到一段别人使用Singleton的代码.
public class MainDataSource
{
private static MainDataSource singleton;

public static MainDataSource getInstance()
{
if (singleton == null)
{
singleton = new MainDataSource();
ocdbm = new OracleConnDBMrgr();
ocdbm.setLoacation(JobProperty.JOBORACLEDS);
}
return singleton;
}
}

在这个Singleton中,没有用到synchronized,可能会产生多个单实例,这样是不是跟Singleton的宗旨有所违背?

请指点.
banq

悄悄话
发表文章: 9312
注册时间: 2002年08月03日 17:08
Re: 请教一个Singleton的问题? 2003年10月29日 11:35 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
严格来说应该加上synchronized,但是一般项目访问密集度没有那么高,所以有的开发者就忽略了,也是可行的。
nitmithv

悄悄话
发表文章: 16
注册时间: 2003年10月26日 16:57
Re: 请教一个Singleton的问题? 2003年10月29日 20:52 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
可是下午我问一同事的时候,他说这样就是允许产生多实例,生成一个实例缓冲池.我觉得这样挺纳闷的,如果这样做的话,就没必要用单实例了.

还请各位指点.
Swallor

悄悄话
发表文章: 46
注册时间: 2002年09月30日 10:44
Re: 请教一个Singleton的问题? 2003年10月31日 10:59 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我不同意banq的想法,一般的应用更应同步!当确实影响性能的时候才考虑用对象缓冲池。
chinahero

悄悄话
发表文章: 90
注册时间: 2003年03月03日 23:44
Re: 请教一个Singleton的问题? 2003年11月23日 20:04 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
如果不加同步关键字,如果线程刚好在==null时切换,会产生多个实例,但是我想由于即使用产生多个实例,也不会影响系统运行结果,和银行存取钱的那个例子不一样,没有需要互斥的操作,所以这段代码运行中,有多个实例,但不是太多,也就是所以的对象池,不知道我的想法对不对
wwlhp@jdon.com

悄悄话
发表文章: 111
注册时间: 2003年06月03日 17:19
Re: 请教一个Singleton的问题? 2003年11月24日 11:48 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
是可以产生多个实例,但只有一个不是悬空的,其他的都注定要被垃圾回收。
月满西楼

悄悄话
发表文章: 1
注册时间: 2003年11月26日 13:21
Re: 请教一个Singleton的问题? 2003年11月26日 13:28 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
不太理解楼上的,对象的引用已经返回给客户端,怎么断定只有一个不是悬空的呢?
coolj

悄悄话
发表文章: 1
注册时间: 2003年11月27日 18:08
Re: 请教一个Singleton的问题? 2003年11月28日 14:16 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
在客户端不再引用这个对象以后,只有一个会保留下来
Lada314

悄悄话
发表文章: 6
注册时间: 2005年03月19日 23:38
Re: 请教一个Singleton的问题? 2005年03月20日 01:10 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
其实 Sigleton 不用来作多线程
多线程用Double-checked Locking
这个主题有 8 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam