Considérons un simple (global dans mon cas) de la variable:
int i;
Quelque part, cette variable est accessible
pthread_mutex_lock(i_mutex);
if(i == other value) {
do_something();
}
pthread_mutex_unlock(i_mutex);
Un autre thread mises à jour i
alors qu'il est titulaire d' i_mutex
. Pourrait le compilateur cache la valeur de i
donc
Je n'ai pas la récente valeur ? Doit i
volatile ?