我有這樣的代碼:這個單例實例成員是否線程安全?
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