我知道 CompareAndSwap 在 Java 并发中用于 AtomicInteger.incrementAndGet() 等方法的引擎盖下,它像无限循环一样工作,直到它成功并阻塞它的线程
它将内存位置的内容与给定值进行比较,并且仅当它们相同时,才将该内存位置的内容修改为新的给定值。这是作为单个原子操作完成的。原子性保证根据最新信息计算新值;如果该值同时被另一个线程更新,则写入将失败。操作的结果必须表明它是否执行了替换;这可以通过简单的布尔响应(这种变体通常称为比较和设置)来完成,也可以通过返回从内存位置读取的值(而不是写入其中的值)来完成。
那么incrementAndGet() 中内存位置的给定值和内容是什么?
慕容3067478
相关分类