社区
进程/线程/DLL
帖子详情
多个线程读变量的问题
gdstx
2013-03-04 12:35:21
多个线程读取某个复杂类型的变量(只是读, 没有写), 请问不加锁可以吗?
...全文
210
8
打赏
收藏
多个线程读变量的问题
多个线程读取某个复杂类型的变量(只是读, 没有写), 请问不加锁可以吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2013-03-06
打赏
举报
回复
不用加,也不存在读一致性问题,因为数据不会变。
南京短暂的春天
2013-03-05
打赏
举报
回复
加锁是为了防止连续代码不能被串行执行 如果你只是读取一个简单变量的话那应该无所谓 但有些情况是要考虑到的,比如你要读取的量A、B、C 这几个量之间有某种耦合关系,类似A方+B方=C方 为了保证数据一致性,那这个时候就要加锁的 加锁的本质是创建系统内核对象,会带来比较大的系统开销 在不影响系统正常运行的情况下应该尽可能的避免加锁操作
信阳毛尖
2013-03-05
打赏
举报
回复
只读不写的话,可以不用加锁的
wltg2001
2013-03-04
打赏
举报
回复
可以不加的。
gdstx
2013-03-04
打赏
举报
回复
引用 2 楼 skywoodsky 的回复:
不会变?那不是常量了?常量可以不加锁 会变的话 要加锁
该变量在线程执行之前是变的, 在线程执行时是不变的
skywoodsky
2013-03-04
打赏
举报
回复
不会变?那不是常量了?常量可以不加锁 会变的话 要加锁
孤客天涯
2013-03-04
打赏
举报
回复
如果程序中没有一个地方对它写,理论是没关系,保险一点还是加上
MoreWindows
2013-03-04
打赏
举报
回复
只读不写,不要加锁。 多线程方面,推荐参考下《秒杀多线程面试题系列》
http://blog.csdn.net/column/details/killthreadseries.html
C++系列第2:C++2.0(11+14+17+20)详解及多
线程
实战
至少要亲手练习10个实战项目 (网络服务器、多
线程
、数据库、图像处理、多人聊天、等等) (2)音视频项目:包括编解码、视频监控、直播等各个方向,都需要亲手实战项目, 包括视频服务器、后台管理系统、前端...
关于
线程
访问另外一个
线程
的
变量
问题
关于
线程
访问另外一个
线程
的
变量
问题
之前帮别人调错,遇到一个错误,就是一个
线程
A访问另外一个
线程
B的成员
变量
,并且
线程
A在构造方法中有
线程
B的引用,但是无论
线程
A怎么获取
线程
B的成员
变量
都是 null,但是在
线程
...
单
线程
读
单
线程
写一个
变量
是否一定要加锁
单
线程
读
单
线程
写一个
变量
是否需要加锁,刚毕业的时候我会有这样的想法:一个
线程
只
读
并没有改变
变量
的值并不会有两个
线程
同时写一个
变量
产生竞态,所以不用加锁,但是工作中长者给我指导都是多
线程
必须加锁,所以我...
多
线程
-共享全局
变量
问题
文章目录多
线程
-共享全局...假设有两个
线程
t1和t2,都要对一个
变量
g_num进行运算(+1),两个进程t1和t2分别对g_num各加10次,g_num的最终结果? import threading import time g_num=0 def work1(num): global g...
多
线程
访问全局
变量
和局部
变量
剖析
如果一个
变量
是成员
变量
,那么
多个
线程
对同一个对象的成员
变量
进行操作时,它们对该成员
变量
是彼此影响的,也就是说一个
线程
对成员
变量
的改变会影响到另一个
线程
。 如果一个
变量
是局部
变量
,那么每个
线程
都会有一个...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章