线程安全单例(用Qt原子指针和模板实现)和单线程单例

本文介绍了在单线程和多线程环境下如何使用Qt的原子指针和C++模板实现线程安全的单例模式。在单线程中,提供了一种简洁的实现方式。而在多线程场景下,通过原子操作确保了线程安全。文中还给出了测试代码及其在Qt5.3.2上的运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程安全单例(用Qt原子指针和模板实现)和单线程单例

   最近比较比较清闲,复习了下设计模式中的单例模式,对于单例模式,网上有很多实例,但是看来看去,很多感觉老是差点什么,当然也有比较多的写的很好,所以决定自己动手练习下,顺便记录下,就当记笔记了。

  在实际的开发中,几乎每个项目都使用到单例模式,因为很多时候,一个类只能创建一个对象,即存在唯一实例,单例就是最恰当的解决办法了。下面就分为在单线程中和多线程的来记录吧!

  在单线程中,网上有很多懒汉模式,饿汉模式什么的,这些可以自己去百度,就说下我自己比较常用的一种,直接上代码比较直观:

class CSingletonTwo
{
private:
    CSingletonTwo(){}//构造函数私有
public:
    static CSingletonTwo& getInstance(void);
    void init(void)
    {
        qDebug()<<" Test CSingletonTwo..........";
    }
};
CSingletonTwo& CSingletonTwo::getInstance()
{
    static CSingletonTwo instance;
    return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值