c++关键字篇:voaltile
volatile的中文意思是“易变的”, 因为访问寄存器要比访问内存单元快的多,所以编译器一般都会作减少存取内存的优化,但有可能会读脏数据。(简洁的说就是:volatile关键词影响编译器编译的结果,用volatile声明的变量表示该变量随时可能发生变化,与该变量有关的运算,不要进行编译优化,以免出错)如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中的变量,这会造成程序的错误执行。这些寄存器映射到内存的特定地址,它们的值可能会因为硬件的状态变化而改变,而与程序的控制流无关。
原创
2024-08-29 15:09:36 ·
337 阅读 ·
0 评论