gpt4 book ai didi

java - 多线程令人头疼。 java 。返回值

转载 作者:行者123 更新时间:2023-12-01 17:36:08 25 4
gpt4 key购买 nike

大家好,我有以下内容。

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
}
}

我得到的是存储在数据库表中的重复的唯一 ID。我假设是因为 uniqieID 在这个多线程环境中被更改。

我显然在某个地方犯了非常严重的错误,我猜我不应该以这种方式返回该值。或者应该根据 getUniqueID 方法的响应将 uniqueID 定义为新的 BigInteger。

任何帮助将不胜感激,因为我脆弱的心灵现在已经扭曲了!

干杯

艾伦

最佳答案

BigInteger 是一个(来自 JavaDocs )

Immutable arbitrary-precision integer

这样就排除了任何人改变 BigInteger 对象的可能性。我会研究getUniqueKeyKeyFromDatabase

关于java - 多线程令人头疼。 java 。返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com