As propriedades têm efeito volátil?
No código abaixo seráread1
ser sempre igual aread2
, desde propriedadeFlag
pode ser alterado de outros tópicos? A preocupação aqui é queFlag
pode ficar inlined.
private bool Flag {get; set;}
public void MultithreadedMethod()
{
var read1 = Flag;
/* some more code */
var read2 = Flag;
}
UPD: Algum outro segmento pode alterarFlag
valor durante/* some more code */
execução. Nesse casoread1
deve ser diferente deread2
. Será que vaisempre Seja o caso? Não vai transformar a propriedade em um campo não volátil que causaráread1
ser igual aread2
apesar do fatoFlag
foi alterado entre leituras?