假设我有以下课程将被大量阅读,但只是偶尔写入。它将在多线程 Web 应用程序中使用,因此它需要是线程安全的:
public class Foo {
private volatile String foo;
public String getFoo() {
return foo;
}
public synchronized String setFoo(String in) {
this.foo = in;
}
}
Java Concurrency ( http://www.ibm.com/developerworks/java/library/j-jtp06197/index.html ) 指出这是一种保护写访问同时改进读访问的脆弱方法。有什么比这种模式更强大的替代方案?或者如果 foo 需要在读取繁重的环境中可变,是否有任何替代方案?谢谢你。