简单举例,线程安全的单例
public static class SingerDemo
{
public static readonly Order CurederOrder;
// readonly:只能在构造函数内部可以修改当前字段。其他地方只能只读。所以配合构造函数就能够保证实例是线程安全而且是单例的。
//CLR帮助我们保证了静态类的构造函数只 被执行一次。【保证线程安全单例模式。】
static SingerDemo()
{
CurederOrder =new Order();
}
}
普通的单例,加上lock也可成线程安全的单例
public class Prodcut
{
private Prodcut()
{
}
private static Prodcut _P;
public static Prodcut GetProduct()
{
lock ("sss")
{
if (_P == null)
{
_P = new Prodcut();
}
}
return _P;
}
}