AtomicInteger簡介

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

相關文章
相關標籤/搜索