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


posted @ 2017-06-01 15:02  claireyuancy  阅读(1137)  评论(0编辑  收藏  举报