У меня есть следующая реализация в Java, где я пытаюсь использовать синхронизированный метод:
class dbAccess{
public synchronized void getGUID(){
counter=/*Access last count from txn_counter table */
/*Insert a unique value to txn_counter table based on the acquired value of counter */
/*Insert new counter value to GUID_log table */
}
}
Часть между / * * / представляет некоторые SQL-запросы.Реализация имеет 10 потоков.Я надеялся, что возвращаемое значение счетчика будет уникальным.Но бывает так, что несколько прогонов возвращают одно и то же значение счетчика.
Не могли бы вы указать, что я делаю что-то не так.И это правильный способ сделать это?