说我在这样的循环检查的变量。用这种用法挥发很好吗?
while(var)
;
这里,VAR必须声明volatile
如果程序是多线程和VAR被多个线程访问。这是一个已知的事实。但是,让我们说,我们有这样的东西。
while(var + 1)
;
请问这仍然适用于volatile
?我的意思是有可能,编译器缓存(VAR + 1)价值?换句话说,我问,如果我们需要像下面的代码这一点,与临时是一个也volatile
变量,以确保没有缓存由编译器完成。
while(temp)
temp = var + 1;