全局变量 一个线程写数据 多个线程多个地方读 要不要加锁? 不加锁会不会有问题?
如题,我朋友说这个没问题,多个写才要加锁,防止数据乱了。
但我认为这样的可能会出问题,但也是没有充分的自信。我的理由是 当写到一半的时候,然后别的线程开始读了,就会把数据读乱了。
不知这样对不对?
如果不加锁,会不会造成系统死机? 现在我没有条件试验 ,谁能试下,看看N多个线程读一个全局结构体里的多个变量值,然后一个线程不断的刷新写入的数据,看读入会不会出错?
我写入用的是仅一个赋值(让结构体赋值给结构体),这样是否读数据会出错?
我举个例:比如写入结构体A= tempA; 然后,读A.a A.b A.c等等,会不会出现有些数据正好被赋值一半的情况?
求解。