Я изучаю многопоточность и у меня возникают проблемы с пониманием синхронизации при работе с LinkedHashMap
, особенно в том, что касается моего кода, что блокируется.Является ли объект, извлеченный из proxyAutoMap
, заблокированным или весь экземпляр proxyAutoMap
заблокирован?
Примечание: AutoMap
- это просто LinkedHashMap
хеш-карта для хранения объектов
Ниже приведен код для справки:
public abstract class ProxyAutomobile {
protected static AutoMap<Automobile> proxyAutoMap = new AutoMap<Automobile>();
public void printAuto(String key) {
try {
synchronized (proxyAutoMap.getAuto(key)) {
proxyAutoMap.getAuto(key).print();
}
} catch (AutoException ae ) {
ae.fix(ae.getErrorID());
}
}
}