bool accès sont en effet atomique, mais ce n'est pas toute l'histoire.
Vous n'avez pas à vous soucier de la lecture d'une valeur qui est "partiellement écrit' - il n'est pas clair ce que cela pourrait signifier pour un bool, en tout cas - mais vous n'avez pas à vous soucier des caches du processeur, au moins si les détails de la synchronisation sont un problème. Si le thread n ° 1 en cours d'exécution sur base d'Un a votre _bar
dans le cache, et _bar
est mise à jour par le thread n ° 2 en cours d'exécution sur une autre base, le fil #1 ne verrez pas la changer immédiatement, sauf si vous ajoutez de verrouillage, déclarer _bar
comme volatile
, ou explicitement insérer des appels d' Thread.MemoryBarrier()
d'invalider la valeur mise en cache.