当一个对象的值可能会在编译器的控制或者检测之外被改变时,例如一个被系统时钟更新的变量,那么该对象应该被声明成volatile。因此,编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。
它的主要目的是提示编译器,该对象的值可能在编译器未检测到的情况下被改变。
本文解释了在编程中使用volatile关键字的目的及其应用场景。当一个变量可能在编译器未察觉的情况下被外部因素更改时,将其声明为volatile可以防止编译器进行优化,确保变量的值能正确反映实际状态。
当一个对象的值可能会在编译器的控制或者检测之外被改变时,例如一个被系统时钟更新的变量,那么该对象应该被声明成volatile。因此,编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。
它的主要目的是提示编译器,该对象的值可能在编译器未检测到的情况下被改变。
590
1万+

被折叠的 条评论
为什么被折叠?