• 【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() {
        }

    在源码中也有所体现。

  • 相关阅读:
    tensorflow模型保存和使用08
    LSTM最基本的应用(07-3)
    手写数字识别-卷积神经网络cnn(06-2)
    python面向对象笔记
    attention机制
    dockerfile
    docker入门
    CentOS7安装Oracle11gR2
    anaconda常用的命令
    python xlrd处理表格常用方法
  • 原文地址:https://www.cnblogs.com/puyangsky/p/5535839.html
Copyright © 2020-2023  润新知