线程安全的单例模式:
单例模式:属于创建类型的一种常用的软件设计模式,通过单例模式创建的类在当前进程中只有一个实例,一份资源只能被申请加载一次。
如何实现:
-
饿汉模式:资源在程序初始化的时候就去加载,后边使用的时候直接使用,使用会非常流畅,但是有可能会加载上根本用不到的资源,而且程序初始化的时间也会较慢
-
懒汉模式:在进行资源的使用时,缺少这个资源才去加载,程序初始化的速度比较快,但是初次加载某个模块时会比较慢,因为这时候需要加载相应的资源。
饿汉模式实现方式:
使用static将某成员变量定义为静态成员变量,这样所有对象共用同一份资源,并且在程序初始化的时候就会加载资源,不涉及线程安全
代码:
class single_instance{
public:
int* get_instance()
{
return &_data;
}
private:
static int _data;
};
int single_instance::_data=10;
int main()
{