AtomicInteger
AtomicLong等等 java
这些类真的很是实用,更重要的是 它确实很是简单: 安全
附上本身的代码,能够本身试试: atom
以AtomicInteger示例 spa
AtomicInteger,一个提供原子操做的Integer的类。在Java语言中,++i和i++操做并非线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则经过一种线程安全的加减操做接口。 .net
代码: 线程
package test; 接口
import java.util.concurrent.atomic.AtomicInteger;
/**
* 来看AtomicInteger提供的接口。 rem
//获取当前的值
public final int get()
//取当前的值,并设置新的值
public final int getAndSet(int newValue)
//获取当前的值,并自增
public final int getAndIncrement()
//获取当前的值,并自减
public final int getAndDecrement()
//获取当前的值,并加上预期的值
public final int getAndAdd(int delta) get
* @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);
}
} class