尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

c++ 线程 单例模式

c++ 线程 单例模式
📅 发布时间:2026/6/20 5:30:32

 

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <mutex>
 6 #include <thread>
 7 using namespace std;
 8 
 9 #define ll long long
10 
11 const int maxn=1e5+10;
12 
13 class Singleton {
14 public:
15     static Singleton* getInstance() {
16         if (instance == nullptr) {
17             lock_guard<mutex> lock(mtx);
18             if (instance == nullptr)
19                 instance = new Singleton();
20         }
21         return instance;
22     }
23 
24     void dosomething() {
25     }
26 
27     static void destoryInstance() {
28         if (instance != nullptr) {
29             delete instance;
30             instance = nullptr;
31         }
32     }
33 private:
34     Sinleton(const Singleton&) = delete;
35     Singleton& operator=(const Singleton&) = delete;
36 
37     static Singleton *instance;
38     static mutex mtx;
39 };
40 
41 void threadFunc(int id)
42 {
43     cout << "thread " + to_string(id) << endl;
44     Singleton *s = Singleton::getInstance();
45     s -> dosomething();
46 }
47 
48 Singleton * Singleton::instance = nullptr;
49 mutex Singleton::mtx;
50 
51 int main()
52 {
53     thread t1(threadFunc, 1);
54     thread t2(threadFunc, 2);
55     thread t3(threadFunc, 3);
56     t1.join();
57     t2.join();
58     t3.join();
59     Singleton::destoryInstance();
60     return 0;
61 }

 

相关新闻

  • 【51单片机】【protues仿真】基于51单片机PM2.5温湿度测量蓝牙架构
  • 【炼石计划NOIP】第八套 赛后总结
  • vite7-webos网页版os管理|Vue3+Vite7+ArcoDesign搭建pc端os后台系统

最新新闻

  • 第36章:PagedAttention Kernel 与 KV Cache 内存布局
  • React Native Map Link测试策略:单元测试与集成测试最佳实践
  • (2026新)烟台正规防水补漏公司口碑榜TOP5权威推荐!卫生间/厨房/阳台/屋顶/天花板/地下室渗漏水检测维修攻略-靠谱漏水检测维修师傅推荐 - 安佳防水
  • Jest 实践指南:从零开始搭建你的第一个测试项目(超详细步骤)
  • x265 HEVC编码器:开源视频压缩的革命性工具,如何将文件大小减半
  • C# 读写INI文件:从编码乱码到跨平台兼容的实战指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号