本帖最后由 邱成 于 2012-9-11 23:09 编辑
1 只有在访问同一个对象的时候,或者单例的时候才会出现线程安全问题。
2 java类中定义静态变量和实例变量都不是线程安全的(如果不加锁的话)
3 静态方法可以被并发访问。
4 java类中定义了一个静态方法,如果该方法没有使用实例变量或者静态变量,
那么他就是线程安全的,如果使用了,就不是线程安全的
以上4点说得都对吗?
public class TestSingletion
{
private TestSingletion(){}
public static TestSingletion instance= null;
public static TestSingletion getInstance()
{
if(instance==null)
{
instance = new TestSingletion();
return instance;
}
else
{
return instance;
}
}
}
上面这个类
因为静态方法调用了静态变量,所以单例模式不是线程安全的?对吗? |