考虑以下场景。
public synchronized String getData(){
return getInfo();
}
private String getInfo(){
// operation here should synchronized
return "Synchronize Info";
}
如果有人绕过这个操作的流程。系统可能会变得不稳定,如果 Java 编译器强制getInfo
synchronized
不存在此类问题。但是 Java 编译器并不强制这样做。现在开发人员应该负责制作getInfo
synchronized
与否。为什么 Java 不强制 make getInfo
synchronized
?