美文网首页
AtomicInteger的incrementAndGet如何实

AtomicInteger的incrementAndGet如何实

作者: 张某某xyz | 来源:发表于2021-08-16 08:00 被阅读0次

    20210817

    AtomicInteger的incrementAndGet最终调Unsafe.getAndAddInt实现的

    Unsafe.getAndAddInt:

       public final int getAndAddInt(Object var1, long var2, int var4) {
            int var5;
            do {
                var5 = this.getIntVolatile(var1, var2);
            } while(!this.compareAndSwapInt(var1, var2, var5, var5 + var4));
    
            return var5;
        }
    

    所以答案是通过自旋锁和CAS实现的

    相关文章

      网友评论

          本文标题:AtomicInteger的incrementAndGet如何实

          本文链接:https://www.haomeiwen.com/subject/flsybltx.html