夜场建设网站重庆网络技术有限公司
news/
2025/9/27 15:23:06/
文章来源:
夜场建设网站,重庆网络技术有限公司,小红书关键词搜索量查询,如何搭建自己的网站服务器地址单例模式一般分为懒汉模式和饿汉模式#xff0c;懒汉式单例在第一次引用时创建实例#xff0c;不是在类加载时#xff1b;饿汉式单例模式是一种在类加载时就创建实例的方式#xff0c;因此也称为静态初始化。 单例模式实现的技巧时构造私有#xff0c;向外提供静态实例。…单例模式一般分为懒汉模式和饿汉模式懒汉式单例在第一次引用时创建实例不是在类加载时饿汉式单例模式是一种在类加载时就创建实例的方式因此也称为静态初始化。 单例模式实现的技巧时构造私有向外提供静态实例。
懒汉式单例模式实现
public class Singleton
{private static Singleton instance null;private Singleton() {}public static Singleton Instance{get{if (instance null){instance new Singleton();}return instance;}}
}线程安全的懒汉式
为了确保线程安全在懒汉式的基础上添加锁。
public class Singleton
{private static Singleton instance null;private static readonly object padlock new object();private Singleton() {}public static Singleton Instance{get{lock (padlock){if (instance null){instance new Singleton();}return instance;}}}
}使用Lazy实现懒汉式单例模式
使用 Lazy线程安全支持延迟初始化简化代码。
public class Singleton
{private static readonly LazySingleton lazy new LazySingleton(() new Singleton());public static Singleton Instance { get { return lazy.Value; } }private Singleton() {}
}饿汉式单例实现
public class Singleton
{// 在类加载时就创建实例private static readonly Singleton instance new Singleton();// 私有构造函数确保外部不能通过new创建实例private Singleton() {}// 提供一个全局访问点public static Singleton Instance{get{return instance;}}// 你可以在这个类中添加其他功能
}在饿汉式单例实现中类中的 instance 字段在类加载时就被初始化因此在多线程环境下也是线程安全的。 构造函数是私有的防止外部通过new关键字创建实例。 通过 Instance 属性提供了对单例实例的全局访问点。 饿汉式单例模式的优点是简单、线程安全但缺点是可能在程序启动时就创建实例可能会浪费一些资源特别是在实例的创建和初始化过程较为复杂的情况下。选择使用饿汉式还是懒汉式延迟初始化取决于具体的需求和性能考虑。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919625.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!