Pour le point de détail, définir une variable comme volatile ne suffit pas à ce qu'elle soit thread-safe.
Pour que ce soit le cas, il faut que le processeur puisse écrire cette variable en une instruction.
Et je crois même que ce n'est pas une condition suffisante.
Après recherche, en fait non c'est pas suffisant... Et même parfois il vaut mieux ne pas le mettre !
[^] # Re:
Posté par Ph Husson (site web personnel) . En réponse au journal Merci aux développeurs de la GNU libc !. Évalué à 5.
Pour le point de détail, définir une variable comme volatile ne suffit pas à ce qu'elle soit thread-safe.
Pour que ce soit le cas, il faut que le processeur puisse écrire cette variable en une instruction.
Et je crois même que ce n'est pas une condition suffisante.
Après recherche, en fait non c'est pas suffisant... Et même parfois il vaut mieux ne pas le mettre !
Cf http://kerneltrap.org/Linux/Volatile_Superstition et toutes les réponses de Linus (très instructives !)