Привет, ребята, у меня есть следующее.
class a extends Thread
{
public synchronized BigInteger getUniqueID()
{
BigInteger aUniqueID = new BigInteger(getUniqueKeyFromDatabase);
return aUniqueID;
}
}
class b extends a
{
public run()
{
BigInteger uniquieID = getUniqueID();
// store UniqueID in another database table with other stuff
}
}
И я получаю дубликат уникального идентификатора, хранящийся в таблице базы данных. Я предполагаю, потому что uniqieID изменяется в этой многопоточной среде.
Я явно где-то ужасно ошибаюсь, полагаю, мне не следует возвращать значение таким способом. Или следует определить uniqueID как новый BigInteger на основе ответа от метода getUniqueID.
Любая помощь будет принята с благодарностью, так как мой хрупкий ум сейчас искажен!
Приветствия
Alan