• 【java】线程安全的整型类AtomicInteger


    一、遇见AtomicInteger

    在看项目代码的时候看到这个类,发现其功能很简单,就是一个整型变量的类型,出于好奇看了其类定义。

    该类位于java.util.concurrent.atomic下,在concurrent下可知该类肯定与并发和原子性相关。

    二、进一步了解

    源码非常简单,结合其他人的博客,基本可以了解到AtomicInteger类是一个提供原子操作的Integer类。

    普通的整型类如int和Integer类,在++i/i++等操作并不是线程安全的,在并发环境下容易出现脏数据。

    AtomicInteger使用了volatile关键字进行修饰,使得该类可以满足线程安全。

        private volatile int value;
    
        /**
         * Creates a new AtomicInteger with the given initial value.
         *
         * @param initialValue the initial value
         */
        public AtomicInteger(int initialValue) {
            value = initialValue;
        }
    
        /**
         * Creates a new AtomicInteger with initial value {@code 0}.
         */
        public AtomicInteger() {
        }

    在源码中也有所体现。

  • 相关阅读:
    JDBC的一些代码
    mysql
    【转载】如何简单地理解Python中的if __name__ == '__main__'
    【转载】用Scikit-Learn构建K-近邻算法,分类MNIST数据集
    数据科学入门---可视化数据
    Sum It Up
    Blue Jeans
    Zball in Tina Town
    Island Transport
    CD
  • 原文地址:https://www.cnblogs.com/puyangsky/p/5535839.html
Copyright © 2020-2023  润新知