Скажите, используя следующую функцию:
getUnique(){
MyObject obj = getValueFromDb();
obj.modifyIt();
obj.commit();
}
При одновременном вызове этого метода несколько потоков разделяют одно и то же значение MyObject, но я ожидал, что каждый поток будет иметь уникальное значение.
Чтобы исправить это, я использовал синхронизацию потоков, используя class.getInstance().myMethodCall()
, чтобы получить уникальное значение некоторого свойства, это решило задачу, но при одновременном вызове снижает эффективность функции.
Есть ли лучший способ это исправить? (С использованием STRUTS, HIBERNATE3.0)