• AtomicInteger简介


    这个类真的非常实用,更重要的是 它确实非常简单:

    附上自己的代码,可以自己试试:

    AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。

    接口:

    package test;
    
    import java.util.concurrent.atomic.AtomicInteger;
    /**
     * 来看AtomicInteger提供的接口。
    
     //获取当前的值
     
     public final int get()
     
     //取当前的值,并设置新的值
     
      public final int getAndSet(int newValue)
     
     //获取当前的值,并自增
     
      public final int getAndIncrement()
     
     //获取当前的值,并自减
     
     public final int getAndDecrement()
     
     //获取当前的值,并加上预期的值
     
     public final int getAndAdd(int delta)
    
    
     * @author YangBaoBao
     *
     */
    public class AtomicIntegerDemo {
     public static void main(String[] args) {
      AtomicInteger ai=new AtomicInteger(0);
      int i1=ai.get();
      v(i1);
      int i2=ai.getAndSet(5);
      v(i2);
      int i3=ai.get();
      v(i3);
      int i4=ai.getAndIncrement();
      v(i4);
      v(ai.get());
      
     }
     static void v(int i)
     {
      System.out.println("i : "+i);
     }
    }

    最简单应用:

    /**
         * 线程号计数
         */
        private AtomicInteger counter = new AtomicInteger(0);
    
    //自增
    Integer jobId = counter.getAndIncrement();
  • 相关阅读:
    DevC++实现调试功能
    DevC++实现调试功能
    《算法竞赛入门经典》计算组合数问题
    C#根据控件名获取控件对象
    C#根据控件名获取控件对象
    C# 使用反射获取私有属性的方法
    C# 使用反射获取私有属性的方法
    JSON转Object的方式
    JSON转Object的方式
    Hadoop: Setting up a Single Node Cluster.
  • 原文地址:https://www.cnblogs.com/dyh004/p/5551987.html
Copyright © 2020-2023  润新知