社区
C++ 语言
帖子详情
函数体内的静态对象的构造在多线程的情况下有可能被打断么?
fendouzhe
2017-05-05 03:50:50
比如一个单实例的实现:
A &GetInstance()
{
static A a; //是否需要在此处的前后加上锁保护呢?
return a;
}
...全文
199
3
打赏
收藏
函数体内的静态对象的构造在多线程的情况下有可能被打断么?
比如一个单实例的实现: A &GetInstance() { static A a; //是否需要在此处的前后加上锁保护呢? return a; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paschen
版主
2017-05-05
打赏
举报
回复
不用加锁
red-fly
2017-05-05
打赏
举报
回复
静态是在编译时就分配好空间的,所以应该不存在“打断”的情况,但如果你在一个线程中改变了值,那在另一个线程中就会看到变化,当然也有可能在改变的过程中另外一个线程中看到的值可能不是预期的,比如把本来的值 1000 改成 10000,改变的过程中另外一个线程中看到的有可能不是1000,也不是10000,而是另外一个值,只不过这种概率很小,但大量运行的情况下,肯定是会碰到的
pengzhixi
2017-05-05
打赏
举报
回复
额 我记得c++11是不会的。
JAVA多
线
程精讲下
多
线
程精讲下课程内容涵盖如下:l
线
程的同步(
线
程安全问题)l
线
程的死锁l
线
程间通信l
线
程组l
线
程池l 多
线
程的第三种实现方案l 匿名内部类方式使用多
线
程l ...
Java多
线
程面试题
sleep 方法: 是 Thread 类的
静态
方法,当前
线
程将睡眠 n 毫秒,
线
程进入阻塞状态。当睡眠时间到了,会解除阻塞,进行可运行状态,等待 CPU 的到来。睡眠不释放锁(如果有的话); wait 方法: 是 Object 的方法...
多
线
程面试题(值得收藏)
史上最强多
线
程面试47题(含...原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作
打断
,要么就全部都不执行。 2)可见性 可见性指多个
线
程操作一个共享变量时,其中一个
线
程对变量进行修...
QT学习---使用多
线
程的两种方法(子类化QThread+子类化QObject)
第一种方法:摘要Qt多
线
程方法1 继承QThread1写一个继承于QThread的
线
程2 QThread的几个
函数
quitexitterminate
函数
3 正确的终止一个
线
程4 如何正确启动一个
线
程41正确的启动一个全局
线
程和UI一直存在的
线
程42 如何...
C++多
线
程----
线
程安全
当使用多
线
程时,
可能
存在同时访问一个变量,导致变量被污染问题,所以需要通过编程克服这个问题。 同时访问一个数据示例 采用多个
线
程,分别记数,然后查看最终计算结果,代码如下: #include <iostream> #...
C++ 语言
64,687
社区成员
250,497
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章