我有这样的代码:这个单例实例成员是否线程安全?
public class Singleton
{
private static Singleton m_instance;
private Singleton()
{
}
public static Singleton Instance
{
get
{
if (m_instance == null)
{
m_instance = new Singleton();
}
return m_instance;
}
}
public void CallMe()
{
// is this function thread safe ?
}
}
是对的CallMe方法是线程安全的,因为每一个实例成员函数是线程安全的?或者会在这里产生一个异常?我看到一个使用锁的单例代码,我真的需要吗?
这可能是有用的:http:// csharpindepth。com/articles/general/singleton.aspx –
它在技术上并不是线程安全的,但该方法什么都不做,所以不确定这一点。 – EkoostikMartin
[你称之为“线程安全”的东西是什么?](http://blogs.msdn.com/b/ericlippert/archive/2009/10/19/what-is-this-thing-you-call-thread -safe.aspx)“线程安全”本身并不意味着什么。具体来说,你想确保代码的正确性?我们需要知道这些(以及更多关于如何实施该方法)以了解这种方法是否适用于您的情况。 – Servy