gpt4 book ai didi

java - Java 中用于唯一 ID 的序列生成器

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:25 24 4
gpt4 key购买 nike

我打算写一个序列生成器,它将被使用在发布期间在我的 REST 资源实现类中生成唯一身份。由于每个发布请求都由单独的线程处理,我使变量 volatile 和方法同步。 我没有选择使用序列或其他东西传统的 RDBMS 提供。

public class SequenceGen {
volatile static int n = 0;
public synchronized int nextNum(){
return n++;
}
}

这是我目前所拥有的,并计划创建一个变量我的 REST 实现中的 SequenceGen。我的实际问题是它在什么地方坏了?我测试了两个线程,但我没有看到任何重复的值。

最佳答案

它会起作用,但是 AtomicInteger 是一种非常适合您的用例的内置类型。

AtomicInteger seq = new AtomicInteger();
int nextVal = seq.incrementAndGet();

关于java - Java 中用于唯一 ID 的序列生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22416826/

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