J'ai été incapable de trouver une référence dans la documentation...
Est de l'affectation à un double (ou tout autre type simple, y compris boolean) une opération atomique du point de vue des threads?
double value = 0;
public void First() {
while(true) {
value = (new Random()).NextDouble();
}
}
public void Second() {
while(true) {
Console.WriteLine(value);
}
}
Dans cet exemple de code, la première méthode est appelée dans un thread, et la deuxième dans l'autre. La deuxième méthode d'obtenir une foiré de valeur que si elle obtient de son exécution lors de l'affectation à la variable dans un autre thread?
Je ne m'inquiète pas si je reçois l'ancienne valeur, il est important de recevoir une valeur valide (pas celui où 2 sur 8 octets sont installés). Je sais que c'est une question stupide, mais je veux être sûr, car je ne sais pas comment CLR fait ensembles de variables.