gpt4 book ai didi

JAVA:并发序列

转载 作者:行者123 更新时间:2023-11-30 06:14:30 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个表来存储用户信息,如姓名、姓氏、地址、类型(员工、经理、管理员)、唯一编号。

我需要在 User 表中的每条记录的字段 UniqueNumber 中存储一个 1 到 100 之间的序列号,对于 Type 来说单义:因此可以存在 Type = 'Employee' 且 UniqueNumber=1 的记录和 Type=' 的记录Manager' 且 UniqueNumber=1,但不能存在另一条 Type='Employee' 且 UniqueNumber=1 的记录。

我正在考虑为每种类型使用数据库序列。这帮助我管理并发性,让更多用户可以同时插入记录。

这是一个好的解决方案吗?有替代方案吗?

我看到 AtomicInteger 类,但我不明白如何将它用于表的每种类型。

谢谢。

最佳答案

AtomicInteger 只是提供了 Integer 值的线程安全用法。您的问题与 Java 无关,除非您一次性创建每个 User 实体。如果是这种情况,您可以声明 3 个 int 值并为您创建的每个实体递增它们(如果需要处理并发,则可以声明 3 个静态或本地 AtomicInteger 值)。最好的方法是为每个类型创建一个序列,或者使用 Max 查询获取给定类型的下一个可用值。 --> 取决于您的需求

当某个类型的值超过 100 个时会发生什么?

关于JAVA:并发序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49531385/

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