Comme seuls les types de référence et quelques primitives (y compris float, mais pas double, je ne suis pas sûr de la raison pour laquelle, je suis heureux d'entendre pourquoi) peuvent être déclarées volatiles, si j'enveloppe un double dans une classe alors déclarez-le comme volatil (comme ci-dessous), la propriété double sera-t-elle 'read write' thread sûre comme toute autre volatile, ou devrais-je encore regarder verrouiller?C# volatile double
public class MyThreadedClass
{
volatile VolatileDouble voldub;
}
public class VolatileDouble
{
public double Double { get; set; }
}
Type de soupçonner que seule la référence était volatile, d'où la question. Merci pour la confirmation – johnc
s'il s'est assuré que le VolatileDouble est immuable il ne devrait pas avoir de problèmes, correct? –
Merci également pour les suggestions Interlocked et BitConverter, a déclenché une toute nouvelle voie de pensée – johnc