在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
,那么根本没有建立任何先于发生的关系。 - Tom Hawtin - tackline