如题,Qt多线程run函数内访问类的成员变量,通过类似getValue(){return variable;}这样的函数来获取变量的值,但是获取到的值不正确,在函数内添加qDebug以试图打印出当前的变量值,发现此时获取到的变量值是正确的,但是去掉qDebug语句则值不正确,且此现象只有在Linux系统中运行时出现,在Windows下运行一切正常,因此考虑是由于Linux系统把此变量值优化掉了;
解决方法:在变量定义时前面加上volatile以使变量的值实时刷新。