天天看點

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);

}