Pour faire court : le mot clé « volatile » en C et C++ spécifie le comportement du compilateur, mais il n'empêche pas le hardware de réordonner les accès. Et si tu poses la question, oui, le hardware moderne réordonne les accès.
Le « volatile » de Java est un peu plus utile, mais celui du C ou du C++ ne fait pas ce que tu penses.
[^] # Re: templates variadiques
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 1.
« The volatile keyword is basically worthless as a portable threading construct.[2][3][4][5][6] »
http://en.wikipedia.org/wiki/Volatile_variable
(je te laisse suivre les liens [2][3][4][5][6], y'a pas que du kernel. En particulier, http://software.intel.com/en-us/blogs/2007/11/30/volatile-almost-useless-for-multi-threaded-programming/)
Pour faire court : le mot clé « volatile » en C et C++ spécifie le comportement du compilateur, mais il n'empêche pas le hardware de réordonner les accès. Et si tu poses la question, oui, le hardware moderne réordonne les accès.
Le « volatile » de Java est un peu plus utile, mais celui du C ou du C++ ne fait pas ce que tu penses.