bq看看这个,既然可以这样为什么还要用dcl

hxz 03-01-09
    

public class Resource
{
private static final Resource instance = new Resource();

private Resource() {}

public static Resource getResource()
{
return instance;
}
}

这样不是可以避免DCL带来的多线程编程的麻烦以及你所提到的错误吗?

    

hxz
2003-01-09 10:09

再看看banq的单态,以经说明了这个问题!
dcl真是鸡肋啊!!!
http://www.javaresearch.org/article/showarticle.jsp?column=1&thread=982

jxb8901
2003-01-09 18:08

你这样不是失去了"懒惰初始化"的好处了吗?

banq
2003-01-09 21:08

你这个例子只是说明,实际线程使用中,会出现更复杂的DCL现象,导致系统在庞大用户同时在线时,系统运行混乱。

henry.t
2003-01-09 22:54

我来帮忙UP,这个问题我还是有点疑惑,看了DCL那么麻烦,而且在想要性能的时候有漏洞,想要安全的时候性能又不高,凭我现在的水平还看不出来像楼主这样和DCL比起来有什么不好的,当然,"懒惰初始化"是放弃了,但我们先忽略不记这个。其实我发现对这个问题不是很清楚的网友(当然包括我)不少的,BANG,看了你的回复,我觉得太笼统了,不是很详细,不可否认,本人水平也实在(连我自己都)不敢恭维,无法明白BANG你回复的具体意思:

“实际线程使用中,会出现更复杂的DCL现象,导致系统在庞大用户同时在线时,系统运行混乱。”

麻烦BANG在有空的时候就楼主的主题和你的这个回复详细的说明一下,为什么会这样,会发生你说的情况?希望我自己和没弄清楚的朋友得到提高,代表大家谢谢你。

3Go 1 2 3 下一页