多线程读取同一个内存数据会出错吗

当两个或多个线程同时对一块内存区域进行“只读”时,不会有问题,但如果发生“写”时,就会有问题,需要加锁。也就是多个线程访问某个数据没有问题,但如果访问同时可能修改该数据的话,就要加锁。


多线程是否可以同时读取同一内存变量?

多线程是否可以同时读取同一内存变量?只是对他进行读取不进行写入修改 那么在多线程中是否会因此而出错?

itljl2012-12-23 00:14
读可以,修改不可以。

华玉欣2012-12-23 02:40
可以,可以,可以,可以,可以,可以,可以,可以,可以,可以,可以,可以,可以,

ttyige2012-12-24 19:18
   貌似我就经常 出错。。

0xff2012-12-24 19:58
  

xyxyyy232012-12-24 20:50
看看...............

yfz05742012-12-24 22:35
刚确认过了,在多核多线程下,也不可能因为读内存而产生线程出错问题.

qq6171191422012-12-24 22:37
    

风精灵2012-12-24 23:07
看变量的类型,固定长度的就没问题(如:整数、日期等),非固定的不论读、写,都是要进行保护的(如:文本、字节集、各种数组等)

hpjyb2012-12-25 01:02
顶下。。。

yfz05742012-12-25 08:06
引用
引用第8楼风精灵于2012-12-24 23:07发表的  :
看变量的类型,固定长度的就没问题(如:整数、日期等),非固定的不论读、写,都是要进行保护的(如:文本、字节集、各种数组等)    img: http://bbs.eyuyan.com/images/back.gif

8楼这个说法可有依据?多线程事关重大,你说的不会是易语言的多线程BUG吧,这个跟楼主的问题无关,请看修正版.并不是多线程本身的问题,而是易语言的BUG.

cx4217745572013-01-24 09:37
可以,可以,

1005018822013-01-24 11:20
引用
引用第8楼风精灵于2012-12-24 23:07发表的  :
看变量的类型,固定长度的就没问题(如:整数、日期等),非固定的不论读、写,都是要进行保护的(如:文本、字节集、各种数组等)    img: images/back.gif


实际上,文本,字节集,只读不写都是固定的长度,长度值永远不会变,只读不写不会冲突的。还有数组,只要数组成员是固定,且所有成员都只读。完成1点问题都没有。

以上说的您没必要相信,自己花2分钟写点代码分别多线程测试就知道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值