閱讀661 返回首頁    go 阿裏雲 go 技術社區[雲棲]


AtomicInteger簡介

這個類真的非常實用,更重要的是 它確實非常簡單:

附上自己的代碼,可以自己試試:

AtomicInteger,一個提供原子操作的Integer的類。在Java語言中,++i和i++操作並不是線程安全的,在使用的時候,不可避免的會用到synchronized關鍵字。而AtomicInteger則通過一種線程安全的加減操作接口。

 

代碼:

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)


 * @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);
 }
}


最後更新:2017-04-03 12:55:13

  上一篇:go ActivityNotFoundException
  下一篇:go ActionBar 值 addTab 的小提示