在C语言的多线程编程中一般volatile应该用在啥地方?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言的多线程编程中一般volatile应该用在啥地方?相关的知识,希望对你有一定的参考价值。
比如如果我的变量是全局变量,还需要用volatile吗?或者变量本身是数组或指针,若指针地址值不改变,指针指向的值有可能改变,不使用volatile会出现问题吗?
一般用在多线程程序中,由于某个变量可能被多个线程修改,因此,修饰为volatile,使其每次读取,都是从存储volatile变量的地址中去取,而不是取寄存器中的值。volatile int a;
你的这种设想,都是最好要用volatile的地方,只要这个变量被反复频繁的修改,最好用volatile 参考技术A volatile, 我是想成不要进行最佳化. 应该跟是不是全局变量无关, 要考虑使用时的可能情况.
以上是关于在C语言的多线程编程中一般volatile应该用在啥地方?的主要内容,如果未能解决你的问题,请参考以下文章
C语言(*(volatile unsigned CHAR *)addr)理解