本文主要是介绍单例模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
单例模式:: 只实例化一次对象 分为饿汉式单例类和懒汉式单例类。
一般结合工厂模式使用
优点:
1.减少了时间和空间的开销(new)
2.提高了封装性,使得外部不易改动实例
单线程中:
Singleton* getinstance()
{
if(instance == NULL)
{
instance = new Singleton();
}
return instance;
}
多线程加锁: 影响性能 容易造成大量线程的阻塞
Singleton* getinstance()
{
lock();
if(instance == NULL)
{
instance = new Singleton();
}
unlock();
return instance;
}
双重锁定::
Singleton* getinstance()
{
if(instance == NULL)
{
lock();
if(instance == NULL)
{
instance = new Singleton();
}
unlock();
}
return instance;
}
这篇关于单例模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!