私のコードは以下を使用しています:
public class Obj{
public String someOperation(){...}
};
public class ClassA{
private Map<Integer, Object> m_MsgHash;
public boolean init()
{
m_MsgHash = Collections.synchronizedMap(new LinkedHashMap<Integer, Object>(1001, 1.0F, true));
}
private Object fetchFromHash(int Id)
{
return m_MsgHash.get(Id);
}
public void HandleMsg(int Id)
{
Object obj = fetchFromHash(Id);
// do some operation on obj needs to be synchronized ?
//synchronized (m_MsgHash) {
obj.someOperation();
//}
}
}
Java Docm_MsgHash
から、 my i を反復するにはsynchronized
キーワードを使用する必要があることを理解しています。しかし、私の質問は、マップからsynchronized
フェッチしたものを使用するときに使用する必要がありますか?Object