码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • c++ 并发与多线程(12)线程安全的单例模式-1


    一、什么是线程安全

    在拥有共享数据的多条数据并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。

    二、如何保证线程安全

    法1、给共享的资源加把锁,保证每个资源变量每时每刻至多被一个线程占用;

    法2、让线程也拥有资源,不用去共享进程中的资源。如使用threadlock可以为每个线程的维护一个私有的本地变量。

    三、什么是单例模式

    单例模式指在整个系统生命周期里,保证一个类只能产生一个实例,确保该类的唯一性。

    3.1 单例模式分类

     单例模式可以分为懒汉式和饿汉式,两者之间的区别在于创建实例的时间不同:

    (1)懒汉式:指系统运行中,实例并不存在,只有当需要使用该实例时,才会去创建并使用实例。(这种方式要考虑线程安全)

    (2)饿汉式:指系统一运行,就初始化创建实例,当需要时,直接调用即可。(本身就线程安全,没有多线程的问题)

    3.2 单例类的特点

    (1)构造函数和析构函数为private类型,目的禁止外部构造和析构

    (2)拷贝构造函数和赋值构造函数为private类型,目的是禁止外部拷贝和赋值,确保实例的唯一性

    (3)类里面有个获取实例的静态函数,可以全局访问

  • 相关阅读:
    【ESP32】10.PCF8591数模转换器实验(IIC总线/wire库)
    POS 之 验证者如何才能提议区块
    工厂设备管理维护系统开发
    OpenAI放出的ChatGPT 4的多模态语音和图像更新
    leetcode264 丑数 II
    Mixin从理论到实践
    【Vue 开发实战】实战篇 # 45:如何构建可交互的组件文档让代码高亮的显示在页面
    叮咚!请互联网人签收这份工作技能攻略
    Android Compose 十二:常用组件列表 上拉加载
    Bean的生命周期(我求求你不要背了,背代码有用吗?记思想啊!)
  • 原文地址:https://blog.csdn.net/yangjinyi1314/article/details/133711172
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号