社区
语言基础/算法/系统设计
帖子详情
多线程读写变量的问题
linsoo
2011-08-23 09:26:09
对于普通的变量integer类型和Cardinal这种,如果有两个线程,一个线程写,一个线程读,是否有可能造成异常? 是否需要互斥?
谢谢~
...全文
289
10
打赏
收藏
多线程读写变量的问题
对于普通的变量integer类型和Cardinal这种,如果有两个线程,一个线程写,一个线程读,是否有可能造成异常? 是否需要互斥? 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
funxu
2011-08-24
打赏
举报
回复
InterlockedDecrement最快
临界区速度中
互斥最慢,因为它是跨进程的
haitao
2011-08-24
打赏
举报
回复
[Quote=引用 8 楼 linsoo 的回复:]
引用 6 楼 sz_haitao 的回复:
32位整数的读写,已经相当原子
但是理论上还是不能保证完全没问题(A线程写了一半就被B线程读走)
只是发生的概率估计会很低
最好还是加互斥之类的包含一下
如果只是读取的数据错误的话,关系不大,只要别造成整个线程挂掉就行的...
[/Quote]
卡死、挂掉,一般是加锁后的死锁才导致的
linsoo
2011-08-24
打赏
举报
回复
[Quote=引用 6 楼 sz_haitao 的回复:]
32位整数的读写,已经相当原子
但是理论上还是不能保证完全没问题(A线程写了一半就被B线程读走)
只是发生的概率估计会很低
最好还是加互斥之类的包含一下
[/Quote]
如果只是读取的数据错误的话,关系不大,只要别造成整个线程挂掉就行的...
浩南_哥
2011-08-24
打赏
举报
回复
[Quote=引用 5 楼 linsoo 的回复:]
我想知道的其实是,是否会造成这两个线程卡死或别的什么错误。
[/Quote]
是不是卡死,主要还是看你的这个变量的用途。一般就是读线程可能会读到脏数据。
haitao
2011-08-24
打赏
举报
回复
32位整数的读写,已经相当原子
但是理论上还是不能保证完全没问题(A线程写了一半就被B线程读走)
只是发生的概率估计会很低
最好还是加互斥之类的包含一下
linsoo
2011-08-24
打赏
举报
回复
我想知道的其实是,是否会造成这两个线程卡死或别的什么错误。
linsoo
2011-08-24
打赏
举报
回复
嗯,我这里是不需要关心读取的数据是否脏读,只要写进去的是1,2,3,别读出来是-1,-2,-3就可以...
这样也需要互斥吗?
rainychan2009
2011-08-23
打赏
举报
回复
请LZ参考 Delphi5开发人员指南 第13章关于多线程的。这一章全面介绍了线程、线程同步,另外有小例子,相信LZ在看书的过程中就能解决问题
bdmh
2011-08-23
打赏
举报
回复
会,或者用临界,或者用InterlockedDecrement系列函数,做原子方式的增加减少
浩南_哥
2011-08-23
打赏
举报
回复
添加临界区,如果不加限制肯定会造成读取的数据不争取。
C++
多线程
同时
读写
变量
多个线程同时写一
变量
会否造成
问题
【c++吧】_百度贴吧 Saingel :不一定,要看哪种了,stdstring那种随写入操作而内存位置或大小变更的对象肯定会有
问题
,如果是在固定的内存上写,不写出界基本没
问题
,最多运算...
【并发编程】
多线程
读写
同一
变量
的并发
问题
(并发编程启动)
通过下单链路扣减库存引出了
多线程
并发访问共享
变量
的
问题
,接着简单介绍了一下计算机CPU内存模型、Java的内存模型,并基于Java的内存模型一步一图分析线程安全
问题
产生的原因。
实战并发编程 - 01
多线程
读写
同一共享
变量
的线程安全
问题
深入剖析
文章目录示例CPU的内存模型Java...那么
问题
来了:
多线程
调用access()方法时,接口访问次数统计的结果是否能保证准确呢? 显而易见:不能。 CPU的内存模型 接下来分析一下为什么上面统计的结果会有
问题
. 我们先来简单理
Python
多线程
下的
变量
问题
这篇文章主要介绍了Python
多线程
下的
变量
问题
,由于GIL的存在,Python的
多线程
编程
问题
一直是开发者中的热点话题,需要的朋友可以参考下 在
多线程
环境下,每个线程都有自己的数据。一个线程使用自己的局部
变量
比...
【C# &
多线程
】
多线程
中的同步机制。如何安全的
读写
共享
变量
。
在
多线程
环境中,如果没有适当的同步机制,线程之间的交互可能会变得混乱,导致数据不一致、竞态条件等
问题
。同步的主要目的是控制对共享资源的访问,确保线程之间的正确协作和顺序执行。如果MyProperty属性的get和...
语言基础/算法/系统设计
16,746
社区成员
33,239
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章