我知道线程安全必须同步原始属性的get方法,就像在这个类中一样:
public class C {
private int a;
public synchronized int getA() { return a; }
public synchronized void setA(int a) { this.a= a; }
}
如果a是refrence而不是原语,是否还需要同步get方法?
编辑: 如果getter未同步,则更新值(对其他线程可见)的时间。在我的应用程序中,getter经常被不同的线程调用,因此我希望它在性能上不同步,如果getter不返回最新值,只有其他线程永远不会使用的更新值是不可接受的。 / p>