请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

饿汉模式有没有多线程问题?

如果是饿汉模式,是不是就没有多线程的问题了?

程序刚起来就new,也没必要在构造函数中一堆判空和加锁了。

另外问下,饿汉模式这么简单有效,为啥还要懒汉模式呢?

正在回答 回答被采纳积分+3

1回答

Redknot 2024-09-24 12:34:35

首先,饿汉单例模式确实可以避免多线程问题,尤其是在 C++ 11 之后,以下写法也被认为是线程安全的了


````

class CSingleton

{

private:

CSingleton()

{

}

public:

static CSingleton * GetInstance()

{

static CSingleton instance;

return &instance;

}

};

````


懒汉式的优点是,可以在真正使用到的时候,才去创建这个对象。


饿汉式是不管用没用到,都会把这个对象给创建出来。如果你创建这个对象内容比较多,消耗内存比较大,还是需要时再创建比较好。


实际使用过程中,还是要看具体应用场景。



0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信