我正在扩展一个库来为我做一些工作。这里是代码: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