
Volatile
文章平均质量分 90
关于voltatile的使用
wll1228
爱好linux,喜欢嵌入式
展开
-
我们为什么不应该使用volatile
我们不应该使用volatile原创 2021-12-11 16:38:03 · 1614 阅读 · 0 评论 -
volatile和编译器屏障
编译器(compiler)的工作之一是优化我们的代码以提高性能。这包括在不改变程序行为的情况下重新排列指令。因为compiler不知道什么样的代码需要线程安全(thread-safe),所以compiler假设我们的代码都是单线程执行(single-threaded),并且进行指令重排优化并保证是单线程安全的。因此,当你不需要compiler重新排序指令的时候,你需要显式告编译器,我不需要重排。否则,它可不会听你的。本篇文章中,我们一起探究compiler关于指令重排的优化规则。 注:测试使用aarch64转载 2021-12-11 16:33:54 · 1239 阅读 · 0 评论