Я понимаю, что в Java ключевое слово volatile
обеспечивает видимость переменных. Вопрос в том, если переменная является ссылкой на изменяемый объект, обеспечивает ли volatile
видимость членов внутри этого объекта?
В приведенном ниже примере все работает правильно, если несколько потоков обращаются к volatile Mutable m
и изменяют value
?
пример
class Mutable {
private int value;
public int get()
{
return a;
}
public int set(int value)
{
this.value = value;
}
}
class Test {
public volatile Mutable m;
}
Test.m
, то отношения происходит до вообще не устанавливаются. - person Tom Hawtin - tackline   schedule 06.01.2011