使用双重检查锁定是否正确使用非静态字段?C检查类成员的双重检查锁定#
class Foo
{
private SomeType member;
private readonly object memeberSync = new object();
public SomeType Memeber
{
get
{
if(member == null)
{
lock(memeberSync)
{
if(member == null)
{
member = new SomeType();
}
}
}
return object;
}
}
}
你真的*试图实现单例模式吗?如果是这样,则有更清晰的模式。请参阅http://csharpindepth.com/Articles/General/Singleton.aspx –