Usando palavras-chave voláteis com objeto mutável
Em Java, eu entendo quevolatile
A palavra-chave fornece visibilidade às variáveis. A questão é, se uma variável é uma referência a um objeto mutável,volatile
também fornece visibilidade aos membros dentro desse objeto?
No exemplo abaixo, ele funciona corretamente se vários threads estiverem acessandovolatile Mutable m
e mudando ovalue
?
exemplo
class Mutable {
private int value;
public int get()
{
return a;
}
public int set(int value)
{
this.value = value;
}
}
class Test {
public volatile Mutable m;
}