你的位置:首页 > Java教程

[Java教程]java5中原子型操作类的应用


java.util.concurrent.atomic包中提供了对基本数据类型,对数组中的基本数据类型和类中的基本数据类型的操作。详情见API。

下面实例简单介绍AtomicInteger类的使用:

 1 public class AtomicTest { 2   public static void main(String[] args) { 3     final Ticket ticket = new Ticket(); 4     for (int i = 0; i < 3; i++) { 5       new Thread(new Runnable() { 6         @Override 7         public void run() { 8           while(ticket.getCount()>0){ 9             System.out.println(Thread.currentThread().getName()+" count: "+ticket.decrement());10           }11         }12       }).start();13     }14     15   }16 }17 class Ticket{18   public AtomicInteger count = new AtomicInteger(100);19   20   public int decrement(){21     return count.getAndDecrement();22   }23 24   public int getCount() {25     return count.get();26   }27   28 }

AtomicIntegerArray和AtomicIntegerFieldUpdater也提供了类似的操作,只不过AtomicIntegerArray针对数组中的基本类型,而AtomicIntegerFieldUpdater针对具体对象中的基本类型。