zoukankan      html  css  js  c++  java
  • Java中AtomicInteger的使用!!!

    今天在看Volley的源码的时候,看到里面使用了AtomicInteger这个类,曾经没用过,今天看了一下API学习了一下:

    首先介绍一下这个类的用处,这个类主要是用来替换java中的自增和自减操作,也就是i++和++i等这个运算,为什么要使用这个类了,主要是由于i++和i--等运算是线程不安全的,所以就须要这个类来替换,接下来不多说,直接上代码,看不懂的能够參照帮助文档:

    public class Test {
    	public static void main(String[] args) {
    		AtomicInteger integer = new AtomicInteger();
    		integer.set(1);
    		int i = integer.get(); //获得值
    		System.out.println(i);
    		i = integer.incrementAndGet(); //先+1,然后在返回值,相当于++i
    		System.out.println(i);
    		i = integer.getAndIncrement();//先返回值,然后在+1,相当于i++
    		System.out.println(i);
    		i = integer.get();
    		System.out.println(i);
    		i = integer.decrementAndGet();//先-1,然后在返回值,相当于--i
    		System.out.println(i);
    		i = integer.getAndDecrement();//先返回值,然后在-1,相当于i--
    		System.out.println(i);
    		i = integer.get();
    		System.out.println(i);//1
    	 	i = integer.addAndGet(1);//先+n,然后在返回值,
    		System.out.println(i);
    		i = integer.getAndAdd(1);//先返回,然后+n
    		System.out.println(i);
    		i = integer.get();
    		System.out.println(i);
    	}
    }
    
    输出的结果为:

    1
    2
    2
    3
    2
    2
    1
    2
    2
    3


  • 相关阅读:
    linux系统更新及开启自动更新
    关于ICO的一些理解
    中小学教育缴费遇到的一些问题
    中小学教育缴费----支付宝回传数据.net core 接收中文乱码
    中小学教育缴费——验签失败
    C# MVC+EF—WebApi
    C# MVC+EF—页面搭建
    C# MVC+EF—结构搭建
    EF中的预先加载和延迟加载
    WebApi路由
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6928937.html
Copyright © 2011-2022 走看看