美文网首页
关于AtomicInteger

关于AtomicInteger

作者: 一直在摸索 | 来源:发表于2016-02-02 16:20 被阅读140次

AtomicInteger

JAVA原子操作的Interger类, 主要为解决多线程线程安全问题,今天拿来测试一下,测试代码如下:

public static void main(String[] args) {
        Set<Integer> set = new HashSet<>();
        AtomicInteger ai = new AtomicInteger(0);
        ExecutorService es = Executors.newCachedThreadPool();
        
        for (int i=0; i<2000000; i++){
            es.submit(() -> {
                set.add(ai.getAndIncrement());
            });
        }
        
        es.shutdown();
        System.out.println(set.size());
    }

运行结果显示并不是2000000.
那么我的结论是: 说明生成的值是有重复的.
为什么会这样呢?

相关文章

网友评论

      本文标题:关于AtomicInteger

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