我正在尝试使用 AtomicInteger 变量作为锁。所以,想知道下面发布的代码是否是线程安全的。我知道 incrementAndGet() 是一个原子操作。但是,我不确定后续的 '==' 操作是否也是原子的(如果值在我进行比较时增加到 2 会怎样。)。所以发布这个问题来听听你的想法。
private AtomicInteger count = new AtomicInteger(0); //Shared variable
private final int max = 1;
if(count.incrementAndGet() == max) {
//Do something
}