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