最近在进行C语言的进阶学习。
首次遇到volatile关键字,觉得有必要查阅一番资料,以便日后开发使用。
以下解释来自MSDN。
The volatile keyword indicates that a field might be modified by multiple threads that are executing at the same time.
参考资料后的一点理解:
1. 防止代码优化,即对同一变量的连续多次赋值都将严格执行而非只执行最后一次赋值。
2. 访问变量原始地址,而非直接读取寄存器中的备份数据,从来防止多线程访问产生的冲突。