为什么要有volatile关键字

为什么要有volatile关键字

编码文章call10242025-05-24 11:22:251A+A-

在嵌入式编程和多线程编程中,我们常会见到volatile关键字声明的变量。

下面说一下volatile关键字的作用:

1.保持变量内存可见

简而言之就是用volatile声明的变量会告诉编译器和处理器,这个变量需要每次使用时从内存里重新读取,不要使用缓存里或者寄存器里的值。

在多线程编程中常见单个变量被多个线程同时访问的问题,为确保读取的变量值是最新的,需要声明为volatile。

2、防止指令重拍

不同的编译器对系统的指令优化方式不同,大部分的编译器会做一些优化操作,以便让CPU按照它认为的最优方式和顺序去执行一些程序指令,这可能会影响到我们这条指令执行的顺序。

通常这种优化在单进程下没有影响。但在多线程的应用中可能会导致问题。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4