volatile用于防止编译器优化对可能被外部改变的变量的读写,解决硬件寄存器、无同步多线程共享变量、信号处理函数修改全局变量三类问题;它不保证原子性、内存可见性或禁止CPU重排,非线程安全,应优先使用std::atomic。

volatile 告诉编译器:这个变量的值可能在程序“看不见”的地方被改变,别擅自优化对它的读写。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
volatile用于防止编译器优化对可能被外部改变的变量的读写,解决硬件寄存器、无同步多线程共享变量、信号处理函数修改全局变量三类问题;它不保证原子性、内存可见性或禁止CPU重排,非线程安全,应优先使用std::atomic。

volatile 告诉编译器:这个变量的值可能在程序“看不见”的地方被改变,别擅自优化对它的读写。
发布评论 (0条评论)
还木有评论哦,快来抢沙发吧~