当两个或多个线程同时对一块内存区域进行“只读”时,不会有问题,但如果发生“写”时,就会有问题,需要加锁。也就是多个线程访问某个数据没有问题,但如果访问同时可能修改该数据的话,就要加锁。 多线程是否可以同时读取同一内存变量? 多线程是否可以同时读取同一内存变量?只是对他进行读取不进行写入修改 那么在多线程中是否会因此而出错? 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分钟写点代码分别多线程测试就知道。