如果compareAndSet失败,下面的代码是否仍在执行?

问题描述 投票:-1回答:1

我有一个非常愚蠢的问题。如果我使用AtomicReferences compareAndSet这样

    original.set(atomic.get());
    long next = some new value
    atomic.compareAndSet(original.get(), next);
    ....more code....

如果比较失败(例如,atomic已被另一个线程更新),是否仍在更新更多代码。我正在尝试查找作业中的错误,这是我唯一能想到的,并且我已经尝试了几个小时。

P.S。奇怪的是,如果我在此代码上使用同步它可以在笔记本电脑上为我提供正确的答案,但在台式机上却不能。

java concurrency atomicity compare-and-swap
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.