zoukankan      html  css  js  c++  java
  • AtomicInteger

    AtomicInteger

    AtomicInteger类的理解与使用

    首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下:

    public class Sample1 {
    private static Integer count = 0;
    
    synchronized public static void increment() {
        count++;
    }
    }
    
    public class Sample1 {
    private static AtomicInteger count = 0;
    
     public static void increment() {
        count.getAndIncrement();
    	}
    }
    

    1
    2
    3
    4
    5
    6
    7
    8
    9

    AtomicInteger介绍

    AtomicInteger是一个提供原子操作的Integer类,通过线程安全的方式操作加减。


    AtomicInteger使用场景

    AtomicInteger提供原子操作来进行Integer的使用,因此十分适合高并发情况下的使用。

    AtomicInteger中的两个特殊方法

    getAndupdate(IntUnaryOperator updateFunction)

    更新数据并返回以前的值,为什么不直接进入一个int值呢,这里不太明白

    public final int getAndUpdate(IntUnaryOperator updateFunction) {
        int prev, next;
        do {
            prev = get();
            next = updateFunction.applyAsInt(prev);
        } while (!compareAndSet(prev, next));
        return prev;
    }
    

    作者:叶长风
    来源:CSDN
    原文:https://blog.csdn.net/u012734441/article/details/51619751
    版权声明:本文为博主原创文章,转载请附上博文链接!

    内容来自博客园,拒绝爬虫网站
  • 相关阅读:
    create-react-app 修改 webpack output.publicPath
    洛谷 P1282 多米诺骨牌 (01背包)
    UVa 1627
    UVa 1626
    UVa 11584
    UVa 11400
    UVa 116
    UVa 1347 Tour (dp)
    树形背包小结
    数据流图题目一
  • 原文地址:https://www.cnblogs.com/Heliner/p/10734144.html
Copyright © 2011-2022 走看看