線程有局部變量的單獨拷貝。我有一個哈希表對象被創建的方法。對於兩個不同的線程是否會有兩個不同的散列表對象副本?散列表對象然後傳遞給其他方法。線程拷貝的局部變量
實例方法:
public void exampleMethod(String a,String b, String c)
{
final Hashtable<String,String> parameterMap=new Hashtable<String,String>();
parameterMap.put("key1",a);
parameterMap.put("key2",b);
parameterMap.put("key3",c);
pqrsObject.takeRequest(parameterMap);
}
散列表就像任何其他的局部變量 - 你回答了你自己的問題... – yurib 2014-11-05 12:50:46
只要這個代碼,是的,每次你調用exampleMethod時會有新的實例。如果代碼中的其他部分(takeRequest()將引用賦值給一個可以從不同線程訪問的變量並不清楚,但看起來並非如此 – PeterMmm 2014-11-05 12:51:30
是的,除非您僅調用一次pqrsObject.takeRequest和多個線程在同一個pqrsObject對象中訪問/修改你的哈希映射。 – SMA 2014-11-05 12:53:10