java开发基础【AtomicInteger】


本章主题:  针对多线程下的AtomicInteger作一个简要的回顾java



1 简介:安全

        AtomicInteger , 一个能够提供原子操做的Integer的类,在java语言中,(++i)自增,(i++)自减操做在多线程的环境
多线程

之中并非线程安全的。  一般的状况须要咱们加上一个Synchronized关键字,而AtomicInteger则经过一种线程安全的加减操做接口:atom



2 代码示例:spa

package com.yinshuai.jdk;

import java.util.concurrent.atomic.AtomicInteger;

public class testAtomicInteger {

	public static void main(String[] args) {

		AtomicInteger ai = new AtomicInteger();

		int i1 = ai.get();
		v(i1);

		int i2 = ai.getAndSet(5);
		v(i2);

		int i3 = ai.getAndDecrement();
		v(i3);

		int i4 = ai.get();
		v(i4);

		int i5 = ai.getAndIncrement();
		v(i5);

		int i6 = ai.getAndAdd(7);
		v(i6);

	}

	static void v(int i) {
		System.err.println(i);
	}

}

 其结果为:
线程

  

0
0
5
4
4
5


   在多线程环境下AtomicInteger使用比较频繁,其持有的方法以下所述code

   

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)



    simpleTips接口

相关文章
相关标签/搜索