¿Las propiedades tienen efecto volátil?
En el siguiente códigoread1
ser siempre igual aread2
, propiedad proporcionadaFlag
¿Se puede cambiar desde otros hilos? La preocupación aquí es queFlag
puede estar en línea.
private bool Flag {get; set;}
public void MultithreadedMethod()
{
var read1 = Flag;
/* some more code */
var read2 = Flag;
}
UPD: Algún otro hilo puede cambiarFlag
el valor durante/* some more code */
ejecución. En este casoread1
debe ser diferente deread2
. Serásiempre ¿sea el caso? No incorporará la propiedad a un campo no volátil que causaráread1
ser igual aread2
a pesar del hechoFlag
¿Se cambió entre lecturas?