我正在擴展一個庫來爲我做一些工作。這裏是代碼:Java靜態和線程安全性或做什麼
public static synchronized String decompile(String source, int flags,UintMap properties,Map<String,String> namesMap)
{
Decompiler.namesMap=namesMap;
String decompiled=decompile(source,flags,properties);
Decompiler.namesMap=null;
return decompiled;
}
問題是namesMap
是靜態變量。線程是否安全?因爲如果這個代碼一致地運行namesMap變量可能會改變。我能爲此做些什麼?
是否在代碼中的其他地方訪問了namesMap?如果是這樣,你能舉一個具體的例子嗎? – Finbarr 2010-04-20 16:26:03
它會從另一個反編譯()只訪問.. – GorillaApe 2010-04-20 16:27:18