C# 单例模式
2021-05-02 15:29
标签:const only pre ons 没有 全局 构造 c# 实现 1、非线程安全(经典模式),但没有考虑线程安全,在多线程时可能会出问题,不过还从没看过出错的现象。 2、尝试线程安全(双重锁定) 3、简单安全线程 4、饿汉模式(这种模式的特点是自己主动实例。) 5、不完全lazy,但是线程安全且不用用锁。 6、完全延迟实例化 7、使用 .NET 4‘s C# 单例模式 标签:const only pre ons 没有 全局 构造 c# 实现 原文地址:http://www.cnblogs.com/Study088/p/7762745.html///
///
///
public sealed class Singleton
{
private static readonly Singleton instance=new Singleton();
private Singleton()
{
}
public static Singleton GetInstance()
{
return instance;
}
}
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
// 显示的static 构造函数
//没必要标记类型 - 在field初始化以前
static Singleton()
{
}
private Singleton()
{
}
public static Singleton Instance
{
get
{
return instance;
}
}
}
public sealed class Singleton
{
private Singleton()
{
}
public static Singleton Instance { get { return Nested.instance; } }
private class Nested
{
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Nested()
{
}
internal static readonly Singleton instance = new Singleton();
}
}
Lazy
public sealed class Singleton
{
private static readonly Lazy