gpt4 book ai didi

java - Java中的原子compareAndSet方法是否有锁定?

转载 作者:行者123 更新时间:2023-12-01 17:35:34 28 4
gpt4 key购买 nike

如果我有类似的东西:

AtomicReference<String> atomicReference = new AtomicReference<>("abc");

我有 2 个线程执行代码:

线程 1: atomicReference.compareAndSet("abc", "def")

线程2: atomicReference.compareAndSet("abc", "efg")

是否存在两个线程同时执行该方法并找到声明的值“abc”并且都执行该方法的情况或者如果一个线程执行compareandset,其他线程将必须等待它完成(基本上是某种锁定机制)?

最佳答案

一般来说,合理的实现不会对原子compareAndSet使用锁。一些旧的/非常低端的 32 位架构可能会使用 AtomicLong 锁。

方法体可能(某些架构)允许同时由多个线程执行,但只有一个线程可以成功。

关于java - Java中的原子compareAndSet方法是否有锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61047870/

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